/*
 * Glow Vegan — Halloween 2026.
 * Все правила изолированы классом .gv-theme-halloween.
 * Исходный styles.css не меняется и остаётся готовым к мгновенному возврату.
 */

html.gv-theme-halloween {
  --bg-main: #d4c5e8;
  --bg-sidebar: #fbf7ff;
  --bg-card: #fbf8ff;
  --border-soft: #d9caeb;
  --text-main: #24123f;
  --text-muted: #715f85;
  --accent: #7138c7;
  --accent-soft: #eadfff;
  --tag-bg: #ede5ff;
  --tag-bg-green: #e7dcff;
  --tag-bg-yellow: #fff0c5;
  --tag-bg-red: #fde0e7;
  --shadow-soft: 0 14px 36px rgba(61, 33, 91, .13);
  color-scheme: light;
}

html.gv-theme-halloween body {
  min-height: 100vh;
  background:
    radial-gradient(ellipse at 50% 34%, transparent 34%, rgba(77, 43, 132, .12) 66%, rgba(57, 31, 108, .4) 100%),
    radial-gradient(ellipse at 49% -3%, rgba(255, 218, 164, .86) 0, rgba(255, 189, 164, .44) 13%, transparent 34%),
    radial-gradient(ellipse at 72% 8%, rgba(255, 195, 221, .62) 0, rgba(239, 177, 216, .28) 16%, transparent 38%),
    radial-gradient(circle at 95% 4%, rgba(255, 230, 158, .7) 0, rgba(255, 198, 114, .22) 12%, transparent 29%),
    radial-gradient(circle at 7% 13%, rgba(255, 186, 116, .54) 0, rgba(255, 185, 151, .19) 12%, transparent 29%),
    radial-gradient(ellipse at 42% 36%, rgba(255, 199, 132, .42) 0, rgba(255, 179, 152, .19) 14%, transparent 34%),
    radial-gradient(ellipse at 75% 45%, rgba(255, 181, 221, .39) 0, rgba(218, 148, 216, .17) 17%, transparent 38%),
    radial-gradient(ellipse at 14% 61%, rgba(102, 67, 164, .48) 0, rgba(119, 76, 180, .24) 22%, transparent 45%),
    radial-gradient(ellipse at 56% 62%, rgba(255, 202, 177, .4) 0, rgba(231, 167, 214, .22) 24%, transparent 48%),
    radial-gradient(ellipse at 31% 86%, rgba(244, 176, 216, .38) 0, rgba(170, 112, 205, .17) 22%, transparent 43%),
    radial-gradient(ellipse at 88% 79%, rgba(231, 169, 218, .46) 0, rgba(151, 99, 194, .22) 24%, transparent 49%),
    linear-gradient(126deg, #7455aa 0%, #b28dcc 22%, #d7acd0 48%, #a980c5 73%, #6d4fa3 100%);
  background-color: #7455aa;
  background-attachment: fixed;
  color: var(--text-main);
}

html.gv-theme-halloween body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 45% 4%, rgba(255, 239, 195, .42) 0 2%, rgba(255, 186, 126, .18) 11%, transparent 28%),
    radial-gradient(ellipse at 69% 31%, rgba(255, 216, 235, .34) 0 3%, rgba(210, 154, 225, .14) 15%, transparent 31%),
    radial-gradient(ellipse at 38% 76%, rgba(255, 190, 111, .25) 0 2%, rgba(255, 203, 161, .1) 14%, transparent 34%),
    radial-gradient(circle at 7% 21%, rgba(255, 229, 166, .66) 0 2px, rgba(255, 185, 70, .22) 3px 16px, transparent 35px),
    radial-gradient(circle at 31% 8%, rgba(255, 240, 190, .54) 0 2px, rgba(255, 193, 82, .17) 4px 18px, transparent 39px),
    radial-gradient(circle at 64% 17%, rgba(255, 224, 159, .48) 0 2px, rgba(255, 183, 79, .14) 4px 20px, transparent 42px),
    radial-gradient(circle at 91% 35%, rgba(255, 238, 190, .54) 0 2px, rgba(255, 184, 65, .15) 4px 18px, transparent 38px),
    radial-gradient(circle at 11% 82%, rgba(241, 216, 255, .36) 0 3px, transparent 36px),
    radial-gradient(circle at 74% 88%, rgba(255, 213, 150, .28) 0 2px, transparent 34px);
  filter: saturate(1.16);
}

html.gv-theme-halloween body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    url("/images/halloween/sparkle-field.svg") 0 0 / 720px 520px repeat,
    url("/images/halloween/sparkle-field.svg") 318px 176px / 980px 708px repeat;
  opacity: .98;
  mix-blend-mode: screen;
}

html.gv-theme-halloween body > * {
  position: relative;
}

html.gv-theme-halloween body > #header {
  z-index: 50;
}

html.gv-theme-halloween body > main {
  z-index: 2;
}

/* Ambient decorations from the approved mockup */
html.gv-theme-halloween .gv-seasonal-ambient {
  position: fixed;
  inset: 72px 0 0;
  z-index: 3;
  overflow: hidden;
  pointer-events: none;
}

html.gv-theme-halloween .gv-seasonal-filter-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

html.gv-theme-halloween .gv-seasonal-ambient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    url("/images/halloween/sparkle-field.svg") 80px 32px / 900px 650px repeat,
    url("/images/halloween/sparkle-field.svg") 470px 310px / 1280px 924px repeat;
  opacity: .48;
  mix-blend-mode: screen;
}

html.gv-theme-halloween .gv-ambient-star,
html.gv-theme-halloween .gv-ambient-art {
  position: absolute;
  display: block;
  pointer-events: none;
  user-select: none;
}

html.gv-theme-halloween .gv-ambient-star {
  color: #ff9f16;
  font-size: 24px;
  line-height: 1;
  text-shadow:
    0 0 5px rgba(255, 255, 225, 1),
    0 0 10px rgba(255, 147, 19, 1),
    0 0 27px rgba(255, 179, 52, 1),
    0 0 54px rgba(255, 218, 137, .92);
  animation: gv-halloween-twinkle 4.8s ease-in-out infinite;
}

html.gv-theme-halloween .gv-ambient-art {
  width: 48px;
  height: 52px;
  object-fit: contain;
  filter:
    saturate(1.28)
    drop-shadow(0 0 6px rgba(245, 222, 255, .94))
    drop-shadow(0 0 18px rgba(139, 58, 226, .78));
}

html.gv-theme-halloween .gv-ambient-star--1 { left: 2.1%; top: 5%; }
html.gv-theme-halloween .gv-ambient-star--2 { left: 34%; top: 2%; animation-delay: -1.2s; }
html.gv-theme-halloween .gv-ambient-star--3 { right: 3.3%; top: 9%; animation-delay: -2.4s; }
html.gv-theme-halloween .gv-ambient-star--4 { left: 5.2%; top: 44%; animation-delay: -.7s; }
html.gv-theme-halloween .gv-ambient-star--5 { right: 1.8%; top: 52%; animation-delay: -3.1s; }
html.gv-theme-halloween .gv-ambient-star--6 { left: 47%; bottom: 4%; animation-delay: -1.8s; }
html.gv-theme-halloween .gv-ambient-star--7 { right: 16%; bottom: 12%; animation-delay: -3.8s; }
html.gv-theme-halloween .gv-ambient-star--8 { left: 17%; top: 76%; animation-delay: -2.9s; }
html.gv-theme-halloween .gv-ambient-star--9 { left: 39%; top: 22%; font-size: 17px; animation-delay: -1.6s; }
html.gv-theme-halloween .gv-ambient-star--10 { right: 37%; top: 15%; font-size: 20px; animation-delay: -3.4s; }
html.gv-theme-halloween .gv-ambient-star--11 { right: 26%; top: 42%; font-size: 16px; animation-delay: -.4s; }
html.gv-theme-halloween .gv-ambient-star--12 { left: 27%; top: 58%; font-size: 19px; animation-delay: -2.1s; }
html.gv-theme-halloween .gv-ambient-star--13 { right: 5%; bottom: 5%; font-size: 18px; animation-delay: -4.1s; }
html.gv-theme-halloween .gv-ambient-star--14 { left: 9%; bottom: 8%; font-size: 15px; animation-delay: -2.7s; }
html.gv-theme-halloween .gv-ambient-star--15 { left: 55%; top: 7%; font-size: 16px; animation-delay: -.9s; }
html.gv-theme-halloween .gv-ambient-star--16 { right: 8%; top: 27%; font-size: 22px; animation-delay: -3.7s; }
html.gv-theme-halloween .gv-ambient-star--17 { left: 43%; top: 68%; font-size: 14px; animation-delay: -2.3s; }
html.gv-theme-halloween .gv-ambient-star--18 { right: 31%; bottom: 3%; font-size: 19px; animation-delay: -1.4s; }
html.gv-theme-halloween .gv-ambient-star--19 { left: 13%; top: 31%; font-size: 17px; animation-delay: -4.3s; }
html.gv-theme-halloween .gv-ambient-star--20 { right: 47%; top: 79%; font-size: 15px; animation-delay: -.2s; }

html.gv-theme-halloween .gv-ambient-crystal--1 { left: auto; right: 22%; top: 2%; transform: scale(.88) rotate(7deg); }
html.gv-theme-halloween .gv-ambient-crystal--2 { right: .5%; top: 30%; transform: scale(.82) rotate(8deg); }
html.gv-theme-halloween .gv-ambient-crystal--3 { left: .5%; top: 67%; transform: scale(.72) rotate(-8deg); }
html.gv-theme-halloween .gv-ambient-pumpkin--1 { right: 8.5%; top: 6%; width: 50px; }
html.gv-theme-halloween .gv-ambient-pumpkin--2 { left: 36%; bottom: 4%; width: 44px; }
html.gv-theme-halloween .gv-ambient-hat--1 { right: 1%; top: 1%; width: 58px; transform: rotate(5deg); }

@keyframes gv-halloween-twinkle {
  0%, 100% { opacity: .78; transform: scale(.92); }
  50% { opacity: 1; transform: scale(1.08); }
}

/* Header */
html.gv-theme-halloween .gv-header {
  background:
    radial-gradient(ellipse at 49% -12%, rgba(255, 222, 168, .78) 0, rgba(255, 188, 158, .34) 20%, transparent 43%),
    radial-gradient(ellipse at 71% 34%, rgba(255, 199, 226, .45), transparent 34%),
    radial-gradient(circle at 38% 48%, rgba(255, 177, 68, .24) 0 2px, rgba(255, 205, 121, .12) 4px 20px, transparent 48px),
    radial-gradient(circle at 90% 31%, rgba(184, 128, 237, .25) 0 3px, transparent 38px),
    radial-gradient(circle at 11% 30%, rgba(255, 198, 94, .22), transparent 22%),
    radial-gradient(circle at 74% 0%, rgba(255, 232, 182, .34), transparent 27%),
    linear-gradient(118deg, rgba(211, 185, 239, .98), rgba(242, 195, 225, .97) 48%, rgba(199, 167, 228, .98));
  border-bottom-color: rgba(86, 37, 143, .3);
  box-shadow: 0 10px 34px rgba(55, 24, 94, .18), 0 0 32px rgba(255, 191, 109, .12);
  backdrop-filter: blur(12px);
}

html.gv-theme-halloween .gv-header::before,
html.gv-theme-halloween .gv-header::after {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  color: #ffae32;
  text-shadow: 0 0 8px rgba(255, 176, 54, .95), 0 0 24px rgba(255, 198, 92, .72);
}

html.gv-theme-halloween .gv-header::before {
  content: "✦";
  left: 4vw;
  top: 9px;
  font-size: 18px;
}

html.gv-theme-halloween .gv-header::after {
  content: "✧";
  right: 3vw;
  bottom: 7px;
  font-size: 22px;
}

html.gv-theme-halloween .gv-header-inner {
  position: relative;
  z-index: 1;
}

html.gv-theme-halloween .gv-header-inner::before,
html.gv-theme-halloween .gv-header-inner::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

html.gv-theme-halloween .gv-header-inner::before {
  left: 27%;
  top: -1px;
  width: 42px;
  height: 51px;
  background-image: url("/images/halloween/crystal.svg");
  filter: drop-shadow(0 0 10px rgba(167, 105, 229, .46));
}

html.gv-theme-halloween .gv-header-inner::after {
  right: -14px;
  top: -15px;
  width: 58px;
  height: 51px;
  background-image: url("/images/halloween/witch-hat.svg");
  transform: rotate(4deg);
}

html.gv-theme-halloween .gv-header-inner > * {
  position: relative;
  z-index: 1;
}

html.gv-theme-halloween .gv-logo a {
  background: linear-gradient(120deg, #3e118d 0%, #6d24e2 55%, #cf4eac 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

html.gv-theme-halloween .gv-logo::after {
  content: "✦";
  display: inline-block;
  margin-left: 10px;
  color: #ffab2e;
  font-size: 15px;
  text-shadow: 0 0 9px rgba(255, 169, 37, .78);
  transform: translateY(-9px);
}

html.gv-theme-halloween .gv-logo img {
  filter: hue-rotate(145deg) saturate(1.12);
}

html.gv-theme-halloween .gv-nav-link {
  color: #514167;
}

html.gv-theme-halloween .gv-nav-link:hover {
  background: rgba(244, 235, 255, .82);
  color: #5d24aa;
}

html.gv-theme-halloween .gv-nav-link--active {
  background: linear-gradient(135deg, #dfc9ff 0%, #ffd998 100%);
  color: #4e159e;
  box-shadow: 0 8px 24px rgba(100, 40, 183, .26), 0 0 20px rgba(255, 183, 72, .16);
}

html.gv-theme-halloween .gv-nav-link--suggest {
  border-color: rgba(112, 56, 199, .28);
  background: rgba(247, 241, 255, .72);
  color: #6129ad;
}

html.gv-theme-halloween .gv-nav-link--suggest:hover,
html.gv-theme-halloween .gv-nav-link--suggest.gv-nav-link--active {
  background: linear-gradient(135deg, #eadcff, #ffe2a3);
  color: #4f1c92;
}

html.gv-theme-halloween .gv-nav-toggle {
  border-color: rgba(112, 56, 199, .22);
  background: linear-gradient(135deg, #fbf7ff, #eee2ff);
}

html.gv-theme-halloween .gv-nav-toggle span {
  background: #6630ad;
}

/* Shared surfaces */
html.gv-theme-halloween :is(
  .gv-filters,
  .gv-card,
  .gv-product-layout,
  .gv-product-detail-card,
  .gv-brands-section,
  .cat-sidebar,
  .cat-content,
  .gv-info-card,
  .gv-mini-card,
  .gv-contact-actions,
  .gv-suggest-card
) {
  border-color: rgba(96, 43, 153, .31);
  background:
    radial-gradient(circle at 93% 3%, rgba(255, 206, 125, .25), transparent 34%),
    radial-gradient(circle at 4% 96%, rgba(172, 119, 230, .2), transparent 38%),
    radial-gradient(circle at 55% 54%, rgba(255, 205, 229, .14), transparent 52%),
    linear-gradient(145deg, rgba(255, 253, 255, .98), rgba(245, 234, 251, .98) 61%, rgba(255, 245, 224, .96));
  box-shadow:
    0 20px 52px rgba(48, 21, 80, .23),
    0 0 0 1px rgba(255, 255, 255, .42),
    0 0 38px rgba(255, 190, 101, .14);
}

html.gv-theme-halloween :is(
  .gv-brands-section,
  .cat-content,
  .gv-product-layout,
  .gv-suggest-card,
  .gv-contact-actions
) {
  position: relative;
  overflow: hidden;
}

html.gv-theme-halloween .cat-sidebar {
  overflow: hidden;
}

html.gv-theme-halloween :is(
  .gv-brands-section,
  .cat-content,
  .gv-product-layout,
  .gv-suggest-card,
  .gv-contact-actions
)::before {
  content: "✦";
  position: absolute;
  top: 14px;
  right: 17px;
  z-index: 0;
  color: #ffac2d;
  font-size: 15px;
  text-shadow: 0 0 8px rgba(255, 169, 43, .84), 0 0 20px rgba(255, 193, 88, .45);
  pointer-events: none;
}

html.gv-theme-halloween :is(
  .gv-brands-section,
  .cat-content,
  .gv-product-layout,
  .gv-suggest-card,
  .gv-contact-actions
) > * {
  position: relative;
  z-index: 1;
}

html.gv-theme-halloween :is(
  .cat-sidebar,
  .gv-brands-section,
  .gv-product-layout,
  .gv-suggest-card,
  .gv-contact-actions,
  .gv-info-card--main
)::after {
  content: "";
  position: absolute;
  top: -12px;
  right: -38px;
  z-index: 2;
  width: 235px;
  height: 104px;
  background:
    url("/images/halloween/garland.svg") right top / 184px 50px no-repeat,
    url("/images/halloween/crystal.svg") 58px 45px / 34px 42px no-repeat,
    url("/images/halloween/pumpkin.svg") 174px 50px / 38px 38px no-repeat;
  pointer-events: none;
}

/* Filters */
html.gv-theme-halloween .gv-filters {
  overflow: visible;
  background:
    radial-gradient(circle at 11% 3%, rgba(255, 207, 135, .3), transparent 28%),
    radial-gradient(circle at 91% 37%, rgba(210, 164, 239, .27), transparent 39%),
    radial-gradient(circle at 15% 85%, rgba(255, 195, 222, .22), transparent 36%),
    linear-gradient(145deg, rgba(255, 253, 255, .98), rgba(245, 233, 251, .98) 63%, rgba(255, 246, 225, .97));
}

html.gv-theme-halloween .gv-filters::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -25px;
  z-index: 2;
  width: 260px;
  height: 70px;
  background: url("/images/halloween/garland.svg") left top / contain no-repeat;
  filter: saturate(1.26) drop-shadow(0 0 8px rgba(255, 153, 26, .46));
  pointer-events: none;
}

html.gv-theme-halloween .gv-filters::after {
  content: "";
  display: block;
  position: absolute;
  top: -22px;
  right: -68px;
  width: 165px;
  height: 145px;
  background:
    url("/images/halloween/witch-hat.svg") 48px 0 / 56px 48px no-repeat,
    url("/images/halloween/crystal.svg") 112px 54px / 40px 50px no-repeat,
    radial-gradient(circle at 66% 35%, rgba(255, 194, 87, .29), rgba(173, 119, 232, .14) 44%, transparent 72%);
  filter: saturate(1.22) drop-shadow(0 0 10px rgba(132, 50, 220, .35));
  pointer-events: none;
}

html.gv-theme-halloween .gv-filters-title,
html.gv-theme-halloween .gv-content-title,
html.gv-theme-halloween .gv-content-title span {
  color: #30104f;
  text-shadow: 0 2px 12px rgba(255, 255, 255, .32);
}

html.gv-theme-halloween .gv-content-title span {
  color: #651bea;
  text-shadow: 0 0 16px rgba(121, 39, 231, .2);
}

html.gv-theme-halloween .gv-content-header {
  position: relative;
  padding-right: 48px;
}

html.gv-theme-halloween .gv-content-header::after {
  content: "";
  position: absolute;
  top: -8px;
  right: 1px;
  width: 40px;
  height: 40px;
  background: url("/images/halloween/pumpkin.svg") center / contain no-repeat;
  pointer-events: none;
}

html.gv-theme-halloween .gv-content-header::before {
  content: "✦";
  position: absolute;
  left: -20px;
  top: 16px;
  color: #ffb12f;
  font-size: 17px;
  line-height: 1;
  text-shadow: 0 0 8px rgba(255, 175, 42, .92), 0 0 22px rgba(255, 207, 121, .7);
  pointer-events: none;
}

html.gv-theme-halloween .gv-filter-section-title,
html.gv-theme-halloween .gv-filter-block label,
html.gv-theme-halloween .gv-card-section-label {
  color: #5d1fb5;
}

html.gv-theme-halloween .gv-filter-section,
html.gv-theme-halloween .gv-filters-heading-row,
html.gv-theme-halloween .gv-card-status-block {
  border-color: rgba(112, 73, 151, .15);
}

html.gv-theme-halloween .gv-filters-reset {
  background: #eee3ff;
  color: #642cac;
}

html.gv-theme-halloween .gv-filters-reset:hover {
  background: #e4d2ff;
}

html.gv-theme-halloween .gv-search-wrapper input,
html.gv-theme-halloween .gv-filters .gv-filter-input,
html.gv-theme-halloween .gv-filters #Ingredients,
html.gv-theme-halloween .gv-filters #testingMethod,
html.gv-theme-halloween .gv-brands-search input {
  border-color: #d6c7e7;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 208, 120, .12), transparent 37%),
    linear-gradient(135deg, #fff 0%, #f8f2ff 100%);
  color: #2e1946;
}

html.gv-theme-halloween .gv-search-wrapper input:hover,
html.gv-theme-halloween .gv-filters .gv-filter-input:hover,
html.gv-theme-halloween .gv-filters #Ingredients:hover,
html.gv-theme-halloween .gv-filters #testingMethod:hover {
  border-color: #b99bd5;
  background: #fff;
}

html.gv-theme-halloween .gv-search-wrapper input:focus,
html.gv-theme-halloween .gv-filters .gv-filter-input:focus,
html.gv-theme-halloween .gv-filters #Ingredients:focus,
html.gv-theme-halloween .gv-filters #testingMethod:focus,
html.gv-theme-halloween .gv-brands-search input:focus {
  border-color: #8552c5;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .13);
}

html.gv-theme-halloween .gv-search-icon,
html.gv-theme-halloween .gv-dropdown-arrow,
html.gv-theme-halloween .gv-brands-search-icon {
  background: linear-gradient(135deg, #ebddff, #ffe7b5);
  color: #6d32b8;
}

html.gv-theme-halloween .gv-dropdown-arrow:hover {
  background: #ddc8ff;
  color: #4c1d95;
}

html.gv-theme-halloween .gv-autocomplete-list {
  border-color: #d8c9e6;
  background: #fdfaff;
  box-shadow: 0 16px 36px rgba(58, 34, 82, .18);
}

html.gv-theme-halloween .gv-autocomplete-item {
  background: #fdfaff;
  color: #4c3c5a;
}

html.gv-theme-halloween .gv-autocomplete-item:hover {
  background: #eee2ff;
  color: #5f279f;
}

html.gv-theme-halloween .gv-filter-section--marks .gv-filter-checkbox label {
  border-color: #ddd0e9;
  background: linear-gradient(135deg, #fcf9ff, #f4edfb);
  color: #51435d;
}

html.gv-theme-halloween .gv-filter-section--marks .gv-filter-checkbox label:hover,
html.gv-theme-halloween .gv-filter-section--marks .gv-filter-checkbox label:has(input:checked) {
  border-color: #b99ada;
  background: #eee2ff;
  color: #58239a;
}

html.gv-theme-halloween .gv-filter-checkbox input,
html.gv-theme-halloween .gv-filter-section--marks .gv-filter-checkbox input {
  accent-color: #7c3aed;
}

/* Catalogue cards */
html.gv-theme-halloween .gv-card {
  position: relative;
  overflow: hidden;
}

html.gv-theme-halloween .gv-card:hover {
  border-color: rgba(105, 40, 187, .5);
  box-shadow: 0 23px 55px rgba(49, 21, 82, .27), 0 0 36px rgba(255, 168, 47, .18);
}

html.gv-theme-halloween .gv-card:nth-child(3n + 1)::before,
html.gv-theme-halloween .gv-card:nth-child(3n + 2)::before,
html.gv-theme-halloween .gv-card:nth-child(3n)::before {
  content: "";
  position: absolute;
  z-index: 4;
  pointer-events: none;
}

html.gv-theme-halloween .gv-card:nth-child(3n + 1)::before {
  top: -10px;
  right: -34px;
  width: 202px;
  height: 55px;
  background: url("/images/halloween/garland.svg") center / contain no-repeat;
  filter: saturate(1.27) drop-shadow(0 0 8px rgba(255, 151, 20, .42));
}

html.gv-theme-halloween .gv-card:nth-child(3n + 2)::before {
  top: -11px;
  left: -58px;
  width: 190px;
  height: 52px;
  background: url("/images/halloween/garland.svg") center / contain no-repeat;
  transform: scaleX(-1);
  filter: saturate(1.27) drop-shadow(0 0 8px rgba(255, 151, 20, .42));
}

html.gv-theme-halloween .gv-card:nth-child(3n)::before {
  top: 7px;
  right: 7px;
  width: 40px;
  height: 49px;
  background: url("/images/halloween/crystal.svg") center / contain no-repeat;
  filter: drop-shadow(0 0 8px rgba(170, 112, 229, .48));
}

html.gv-theme-halloween .gv-card:nth-child(4n + 1)::after,
html.gv-theme-halloween .gv-card:nth-child(4n + 2)::after,
html.gv-theme-halloween .gv-card:nth-child(4n + 4)::after {
  content: "";
  position: absolute;
  z-index: 4;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

html.gv-theme-halloween .gv-card:nth-child(4n + 1)::after {
  left: -8px;
  top: 33%;
  width: 43px;
  height: 43px;
  background-image: url("/images/halloween/pumpkin.svg");
}

html.gv-theme-halloween .gv-card:nth-child(4n + 2)::after {
  right: -7px;
  top: 46%;
  width: 36px;
  height: 45px;
  background-image: url("/images/halloween/crystal.svg");
  filter: drop-shadow(0 0 7px rgba(167, 105, 229, .42));
}

html.gv-theme-halloween .gv-card:nth-child(4n + 3)::after {
  content: "✦  ✧";
  position: absolute;
  right: 7px;
  top: 47%;
  z-index: 4;
  color: #ffad2f;
  width: 44px;
  font-size: 15px;
  letter-spacing: 4px;
  text-shadow: 0 0 8px rgba(255, 173, 47, .9), 0 0 18px rgba(255, 194, 84, .56);
  pointer-events: none;
}

html.gv-theme-halloween .gv-card:nth-child(4n + 4)::after {
  right: -7px;
  top: 37%;
  width: 47px;
  height: 41px;
  background-image: url("/images/halloween/witch-hat.svg");
  transform: rotate(7deg);
}

html.gv-theme-halloween .gv-card-image-link,
html.gv-theme-halloween .gv-card-image-placeholder {
  background: linear-gradient(135deg, #f0e8fa, #fff4d8);
}

html.gv-theme-halloween .gv-card .gv-card-body,
html.gv-theme-halloween .gv-card .gv-card-checks {
  background:
    radial-gradient(circle at 95% 5%, rgba(255, 210, 135, .2), transparent 34%),
    radial-gradient(circle at 4% 92%, rgba(180, 128, 231, .16), transparent 39%),
    linear-gradient(145deg, rgba(255, 252, 255, .98), rgba(246, 235, 252, .97) 64%, rgba(255, 246, 229, .96));
}

html.gv-theme-halloween .gv-card-image-link {
  position: relative;
}

html.gv-theme-halloween .gv-card-image-link::after {
  content: "✦";
  position: absolute;
  right: 12px;
  bottom: 10px;
  z-index: 3;
  color: #ffb22f;
  font-size: 18px;
  line-height: 1;
  text-shadow: 0 0 5px #fff7d0, 0 0 11px #ffb22f, 0 0 27px rgba(255, 184, 54, .94);
  pointer-events: none;
}

html.gv-theme-halloween .gv-card:nth-child(even) .gv-card-image-link::after {
  right: auto;
  left: 12px;
  bottom: 12px;
  font-size: 15px;
}

html.gv-theme-halloween .gv-card .gv-card-brand,
html.gv-theme-halloween .gv-link-brand--hero {
  color: #bc5c87;
}

html.gv-theme-halloween .gv-card .gv-card-title-link,
html.gv-theme-halloween .gv-card-title-link:hover {
  color: #31134f;
}

html.gv-theme-halloween .gv-card .gv-tag--category {
  background: #eee8f5;
  color: #635770;
}

html.gv-theme-halloween .gv-card .gv-tag--more,
html.gv-theme-halloween .gv-tag--green,
html.gv-theme-halloween .gv-tag--purple {
  background: linear-gradient(135deg, #ddceff, #ebe2ff);
  color: #5716bd;
}

html.gv-theme-halloween .gv-card .gv-checklist-row,
html.gv-theme-halloween .gv-product-checks-card .gv-checklist-row {
  border-color: #dfd4e9;
  background: #f6f1fa;
}

html.gv-theme-halloween .gv-card .gv-checklist-row--checked,
html.gv-theme-halloween .gv-product-checks-card .gv-checklist-row--checked {
  border-color: #c9afe7;
  background: #eee2ff;
}

html.gv-theme-halloween .gv-checklist-box--checked {
  border-color: #681ee3;
  background: linear-gradient(145deg, #7c2cff, #5716c9);
  box-shadow: 0 0 12px rgba(109, 31, 224, .28);
}

html.gv-theme-halloween .gv-card .gv-checklist-row--checked .gv-checklist-label,
html.gv-theme-halloween .gv-product-checks-card .gv-checklist-row--checked .gv-checklist-label {
  color: #5e2b99;
}

html.gv-theme-halloween .gv-certification {
  border-color: #e5c9bd;
  background:
    radial-gradient(circle at 94% 9%, rgba(255, 190, 72, .18), transparent 36%),
    linear-gradient(135deg, #fffaf7, #fff0e6 58%, #fff4df);
  box-shadow: inset 0 0 18px rgba(255, 176, 93, .06), 0 0 18px rgba(129, 73, 194, .08);
}

html.gv-theme-halloween .gv-certification-logo-wrap {
  position: relative;
  overflow: hidden;
  border-color: #d7c9e7;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(119, 59, 190, .06), 0 4px 15px rgba(91, 45, 137, .12);
}

html.gv-theme-halloween .gv-certification-logo {
  filter: url("#gv-cert-purple");
}

html.gv-theme-halloween .gv-certification-eyebrow,
html.gv-theme-halloween .gv-certification-name {
  color: #592697;
}

html.gv-theme-halloween .gv-pagination-btn {
  border-color: #cab5df;
  background: #fbf7ff;
  color: #51405e;
}

html.gv-theme-halloween .gv-pagination-btn:hover:not(:disabled),
html.gv-theme-halloween .gv-pagination-btn--active {
  border-color: #7138c7;
  background: #7138c7;
  color: #fff;
}

/* Brand page */
html.gv-theme-halloween .gv-brand-back-link,
html.gv-theme-halloween .gv-brand-website-link {
  color: #652caf;
}

html.gv-theme-halloween .gv-brand-hero {
  position: relative;
  overflow: hidden;
  border-color: rgba(111, 65, 156, .22);
  background:
    radial-gradient(circle at 7% 10%, rgba(164, 113, 225, .24), transparent 30%),
    radial-gradient(circle at 92% 100%, rgba(255, 192, 77, .25), transparent 34%),
    linear-gradient(135deg, #fefbff 0%, #eee3f9 58%, #fff4dc 100%);
  box-shadow: 0 18px 46px rgba(57, 31, 85, .13);
}

html.gv-theme-halloween .gv-brand-hero::after,
html.gv-theme-halloween .gv-glow-hero__badge::after,
html.gv-theme-halloween .gv-suggest-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 42px;
  height: 42px;
  background: url("/images/halloween/pumpkin.svg") center / contain no-repeat;
  pointer-events: none;
}

html.gv-theme-halloween .gv-brand-hero::after {
  top: 12px;
  right: 15px;
}

html.gv-theme-halloween .gv-glow-hero__badge {
  position: relative;
}

html.gv-theme-halloween .gv-glow-hero__badge::after {
  top: -22px;
  right: -52px;
  width: 36px;
  height: 36px;
}

html.gv-theme-halloween .gv-suggest-hero::after {
  right: 22px;
  bottom: 12px;
  width: 46px;
  height: 46px;
}

html.gv-theme-halloween .gv-brand-logo,
html.gv-theme-halloween .gv-brand-meta-item,
html.gv-theme-halloween .gv-brand-products-count,
html.gv-theme-halloween .gv-brand-empty,
html.gv-theme-halloween .gv-brand-error {
  border-color: #ddcfeb;
  background: rgba(255, 252, 255, .88);
}

html.gv-theme-halloween .gv-brand-logo-placeholder,
html.gv-theme-halloween .gv-brand-meta-icon,
html.gv-theme-halloween .gv-brand-eyebrow {
  border-color: rgba(112, 56, 199, .2);
  background: linear-gradient(135deg, #eadcff, #ffe6ae);
  color: #6429aa;
}

html.gv-theme-halloween .gv-brand-title,
html.gv-theme-halloween .gv-brand-meta-value {
  color: #2e1646;
}

/* Brands directory */
html.gv-theme-halloween .gv-brands-header,
html.gv-theme-halloween .gv-brands-controls,
html.gv-theme-halloween .gv-brands-letter-header {
  border-color: #dfd2e8;
}

html.gv-theme-halloween .gv-brands-header-icon,
html.gv-theme-halloween .cat-content-icon {
  background: linear-gradient(135deg, #e5d4ff, #ffe4a7);
  color: #6b2db5;
  box-shadow: inset 0 0 0 1px rgba(112, 56, 199, .13), 0 0 22px rgba(255, 181, 54, .15);
}

html.gv-theme-halloween :is(
  .gv-brands-eyebrow,
  .cat-sidebar-eyebrow,
  .cat-content-eyebrow,
  .gv-contact-actions__eyebrow,
  .gv-suggest-kicker,
  .gv-suggest-step
) {
  color: #6c31b6;
}

html.gv-theme-halloween :is(
  .gv-brands-title,
  .cat-sidebar-title,
  .cat-title,
  .gv-contact-actions__heading h2
) {
  color: #35184f;
}

html.gv-theme-halloween .gv-brands-controls,
html.gv-theme-halloween .gv-brands-letter-block {
  border-color: #dfd2e8;
  background: linear-gradient(145deg, #fbf8ff, #f2eaf8);
}

html.gv-theme-halloween .gv-brands-alphabet-letter {
  border-color: #d7c6e5;
  background: #fbf8ff;
  color: #655471;
}

html.gv-theme-halloween .gv-brands-alphabet-letter:hover,
html.gv-theme-halloween .gv-brand-link:hover {
  border-color: #b899d5;
  background: #eee2ff;
  color: #6125a7;
}

html.gv-theme-halloween .gv-brands-alphabet-letter.is-active {
  border-color: #7138c7;
  background: linear-gradient(135deg, #7138c7, #8c54d7);
  color: #fff;
  box-shadow: 0 8px 18px rgba(113, 56, 199, .24);
}

html.gv-theme-halloween #brands-letter-title.gv-brands-letter-title,
html.gv-theme-halloween .gv-brands-letter-block .gv-brands-letter-title,
html.gv-theme-halloween .gv-brand-link-arrow {
  color: #7138c7;
}

html.gv-theme-halloween .gv-brands-letter-count,
html.gv-theme-halloween .cat-section-count {
  background: #e9ddf8;
  color: #6d32b4;
}

/* Categories */
html.gv-theme-halloween .cat-sidebar-heading,
html.gv-theme-halloween .cat-content-header,
html.gv-theme-halloween .cat-section-header {
  border-color: #dfd3e8;
}

html.gv-theme-halloween .cat-sidebar-button {
  color: #64556d;
}

html.gv-theme-halloween .cat-sidebar-button:hover {
  border-color: #d7c5e5;
  background: #f3ebfa;
  color: #4e2a68;
}

html.gv-theme-halloween .cat-sidebar-item--active .cat-sidebar-button {
  border-color: #c5a5e2;
  background: #eee1fb;
  color: #6026a4;
}

html.gv-theme-halloween .cat-sidebar-icon,
html.gv-theme-halloween .cat-sidebar-item--active .cat-sidebar-icon {
  background: linear-gradient(135deg, #eadfff, #ffeac1);
}

html.gv-theme-halloween .cat-section {
  border-color: #dfd2e7;
  background: linear-gradient(145deg, #fbf8ff, #f3ecf8);
}

html.gv-theme-halloween .cat-section-title {
  color: #43245b;
}

html.gv-theme-halloween .cat-item-link {
  color: #61536a;
}

html.gv-theme-halloween .cat-item-link:hover {
  background: #eadfff;
  color: #5c239e;
}

html.gv-theme-halloween .cat-item-arrow {
  color: #aa7bd1;
}

/* Product page */
html.gv-theme-halloween .gv-product-back-link,
html.gv-theme-halloween .gv-product-description a {
  color: #6730aa;
}

html.gv-theme-halloween .gv-product-image {
  border-color: #ddcfeb;
  background: linear-gradient(145deg, #f0e8f8, #fff5dc);
}

html.gv-theme-halloween .gv-product-title,
html.gv-theme-halloween .gv-product-detail-card .gv-product-subtitle,
html.gv-theme-halloween .gv-product-subtitle,
html.gv-theme-halloween .gv-product-proofs-title {
  color: #34194c;
}

html.gv-theme-halloween .gv-product-category-link {
  border-color: #d9cae6;
  background: #f0e8f7;
  color: #62536b;
}

html.gv-theme-halloween .gv-product-category-link:hover {
  border-color: #bc9ed8;
  background: #e9dcf6;
  color: #5e289d;
}

html.gv-theme-halloween .gv-product-status-section,
html.gv-theme-halloween .gv-product-checks-card {
  border-color: #ded2e7;
}

html.gv-theme-halloween .gv-product-checks-card {
  background: linear-gradient(145deg, #faf7fd, #f1eaf7);
}

html.gv-theme-halloween .gv-product-status-card.gv-tag--green {
  border-color: #cbb0e6;
  background: #efe3fb;
}

html.gv-theme-halloween .gv-product-status-card.gv-tag--green::before {
  background: #7c3aed;
}

html.gv-theme-halloween .gv-product-status-card.gv-tag--green .gv-product-status-value {
  color: #5d269e;
}

html.gv-theme-halloween .gv-product-verification {
  border-color: #d8c4e7;
  background: linear-gradient(135deg, #ede2fb, #fff2cf);
  color: #5d486b;
}

html.gv-theme-halloween .gv-product-verification-icon {
  background: #e0cefa;
  color: #6226a8;
}

html.gv-theme-halloween .gv-product-detail-card .gv-product-description,
html.gv-theme-halloween .gv-product-meta-value,
html.gv-theme-halloween .gv-product-description {
  color: #5f5368;
}

html.gv-theme-halloween .gv-product-proof-link,
html.gv-theme-halloween .gv-product-proof-file {
  border-color: #ded0e8;
  background: linear-gradient(135deg, #f7f1fc, #fff3dc);
}

/* Update modal */
html.gv-theme-halloween .gv-update-invite {
  border-color: #d5bee7;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 187, 62, .22), transparent 34%),
    linear-gradient(135deg, #f4ecff 0%, #fff5db 100%);
  box-shadow: 0 15px 36px rgba(57, 31, 84, .12);
}

html.gv-theme-halloween .gv-update-invite::after {
  background: rgba(129, 70, 188, .1);
}

html.gv-theme-halloween .gv-update-invite-icon,
html.gv-theme-halloween .gv-update-file-icon {
  border-color: rgba(112, 56, 199, .2);
  background: linear-gradient(135deg, #e3d2ff, #ffe6ae);
  color: #6730ad;
  box-shadow: 0 9px 22px rgba(112, 56, 199, .16);
}

html.gv-theme-halloween .gv-update-invite-eyebrow,
html.gv-theme-halloween .gv-update-dialog-eyebrow,
html.gv-theme-halloween .gv-update-selected-files {
  color: #6c30b3;
}

html.gv-theme-halloween .gv-update-open-button,
html.gv-theme-halloween .gv-update-submit-button,
html.gv-theme-halloween .gv-suggest-submit {
  border-color: rgba(91, 36, 152, .25);
  background: linear-gradient(135deg, #8043cf, #6228a8);
  box-shadow: 0 11px 25px rgba(103, 42, 175, .24);
}

html.gv-theme-halloween .gv-update-dialog,
html.gv-theme-halloween .gv-proof-dialog {
  border-color: rgba(231, 215, 246, .85) !important;
  background: #faf6fe;
  color: #2b1740;
}

html.gv-theme-halloween .gv-update-dialog-shell {
  background:
    radial-gradient(circle at 0 0, rgba(147, 91, 213, .16), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(255, 190, 74, .13), transparent 30%),
    linear-gradient(180deg, #fefbff 0%, #f7f0fc 100%);
}

html.gv-theme-halloween .gv-update-field textarea,
html.gv-theme-halloween .gv-update-field input[type="text"] {
  border-color: #d6c4e4;
  background: rgba(255, 252, 255, .96);
  color: #2c1a3d;
}

html.gv-theme-halloween .gv-update-field textarea:focus,
html.gv-theme-halloween .gv-update-field input[type="text"]:focus {
  border-color: #8450c3;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .12);
}

html.gv-theme-halloween .gv-update-file-box {
  border-color: #b99ad6;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 192, 77, .16), transparent 39%),
    #f5edfc;
}

html.gv-theme-halloween .gv-update-file-box:hover,
html.gv-theme-halloween .gv-update-file-box.has-files {
  border-color: #7c3aed;
  background: #eee2ff;
}

/* About and contacts */
html.gv-theme-halloween .gv-glow-hero,
html.gv-theme-halloween .gv-suggest-hero {
  border-color: rgba(111, 64, 155, .22);
  background:
    radial-gradient(circle at 6% 12%, rgba(151, 91, 215, .28), transparent 34%),
    radial-gradient(circle at 92% 11%, rgba(255, 192, 70, .31), transparent 32%),
    radial-gradient(circle at 52% 100%, rgba(236, 145, 194, .19), transparent 38%),
    linear-gradient(135deg, #fdf9ff 0%, #e9dcf7 48%, #fff2d4 100%);
  box-shadow: 0 20px 52px rgba(58, 31, 86, .13), 0 0 38px rgba(255, 191, 78, .08);
}

html.gv-theme-halloween .gv-glow-hero::before {
  background: rgba(255, 190, 74, .22);
  box-shadow: 0 0 36px rgba(255, 180, 52, .28);
}

html.gv-theme-halloween .gv-glow-hero::after {
  background: rgba(133, 78, 196, .2);
}

html.gv-theme-halloween .gv-glow-hero__badge {
  background: linear-gradient(135deg, #e4d3ff, #ffe5ab);
  color: #59239a;
  box-shadow: 0 9px 22px rgba(110, 52, 177, .17);
}

html.gv-theme-halloween .gv-glow-hero__title,
html.gv-theme-halloween .gv-mini-card h2,
html.gv-theme-halloween .gv-contact-card__value,
html.gv-theme-halloween .gv-suggest-hero h1,
html.gv-theme-halloween .gv-suggest-card-heading h2 {
  color: #301548;
}

html.gv-theme-halloween .gv-highlight-line {
  color: #642aa9;
}

html.gv-theme-halloween .gv-info-card--main::before {
  color: #ffac2f;
  text-shadow: 0 0 8px rgba(255, 173, 47, .86), 0 0 18px rgba(255, 195, 89, .48);
}

html.gv-theme-halloween .gv-mini-card::after {
  background: radial-gradient(circle, rgba(146, 87, 211, .17), rgba(255, 192, 80, .08) 48%, transparent 72%);
}

html.gv-theme-halloween .gv-contact-card--telegram,
html.gv-theme-halloween .gv-contact-card--creator {
  border-color: #d2b9e8;
  background: linear-gradient(135deg, #efe3fc 0%, #fce5f0 54%, #fff0cb 100%);
}

html.gv-theme-halloween .gv-contact-card--mail {
  border-color: #e5c892;
  background: linear-gradient(135deg, #f5eaff 0%, #ffe7b5 100%);
}

html.gv-theme-halloween .gv-contact-action {
  border-color: #d8c9e6;
  color: #483653;
}

html.gv-theme-halloween .gv-contact-action--product,
html.gv-theme-halloween .gv-contact-action--update {
  background: linear-gradient(135deg, #f1e8fb, #fff0cd);
}

html.gv-theme-halloween .gv-contact-action:hover {
  border-color: #b99ad6;
  box-shadow: 0 13px 30px rgba(59, 34, 83, .13);
}

html.gv-theme-halloween .gv-contact-action__icon {
  color: #6931ad;
  box-shadow: 0 8px 19px rgba(92, 47, 132, .12);
}

html.gv-theme-halloween .gv-contact-action__content strong,
html.gv-theme-halloween .gv-contacts-heading > span {
  color: #432458;
}

/* Suggest product */
html.gv-theme-halloween .gv-suggest-hero-mark {
  border-color: rgba(112, 56, 199, .2);
  background: linear-gradient(135deg, #e3d0ff, #ffe2a2);
  color: #672bac;
  box-shadow: 0 16px 36px rgba(112, 56, 199, .2), 0 0 30px rgba(255, 185, 66, .16);
}

html.gv-theme-halloween .gv-suggest-card-heading,
html.gv-theme-halloween .gv-suggest-fieldset {
  border-color: #dfd1e8;
}

html.gv-theme-halloween .gv-suggest-field > label b,
html.gv-theme-halloween .gv-suggest-fieldset legend b {
  color: #7c3aed;
}

html.gv-theme-halloween .gv-suggest-field > label span,
html.gv-theme-halloween .gv-suggest-field-label em,
html.gv-theme-halloween .gv-update-optional {
  background: #eee5f5;
  color: #796985;
}

html.gv-theme-halloween .gv-suggest-field input[type="text"],
html.gv-theme-halloween .gv-suggest-field input[type="url"],
html.gv-theme-halloween .gv-suggest-field textarea {
  border-color: #d6c5e3;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 190, 75, .09), transparent 37%),
    #fdfaff;
  color: #2d1b3d;
}

html.gv-theme-halloween .gv-suggest-field input:focus,
html.gv-theme-halloween .gv-suggest-field textarea:focus {
  border-color: #8751c6;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .12);
}

html.gv-theme-halloween .gv-suggest-status-card,
html.gv-theme-halloween .gv-suggest-upload {
  border-color: #dccae8;
  background: linear-gradient(145deg, #fcf9ff, #f2eaf8);
}

html.gv-theme-halloween .gv-suggest-status-card:hover,
html.gv-theme-halloween .gv-suggest-status-card:has(input:checked) {
  border-color: #a97dce;
  background: #eee1fb;
}

html.gv-theme-halloween .gv-suggest-status-icon {
  background: linear-gradient(135deg, #e4d2ff, #ffe5ad);
  color: #662ba9;
}

html.gv-theme-halloween .gv-suggest-upload:hover,
html.gv-theme-halloween .gv-suggest-upload.has-files {
  border-color: #8a54c5;
  background-color: #eee2ff;
}

html.gv-theme-halloween .gv-suggest-upload-icon,
html.gv-theme-halloween .gv-suggest-privacy > span {
  background: linear-gradient(135deg, #e3d1ff, #ffe5ac);
  color: #682eac;
  box-shadow: 0 8px 20px rgba(109, 49, 181, .15);
}

html.gv-theme-halloween .gv-suggest-upload-copy strong,
html.gv-theme-halloween .gv-suggest-file-summary {
  color: #642aaa;
}

html.gv-theme-halloween .gv-suggest-submit-row {
  border-color: #ded1e7;
}

/* Proof viewer */
html.gv-theme-halloween .gv-proof-dialog-shell {
  background:
    radial-gradient(circle at 100% 0, rgba(255, 193, 78, .12), transparent 30%),
    linear-gradient(145deg, #fdfaff, #f1e9f8);
}

html.gv-theme-halloween .gv-proof-dialog-eyebrow {
  color: #6d31b5;
}

html.gv-theme-halloween .gv-proof-dialog-title {
  color: #3c2150;
}

html.gv-theme-halloween .gv-proof-dialog-stage {
  border-color: #ded2e8;
  background: #eee8f2;
}

html.gv-theme-halloween .gv-proof-dialog-nav {
  border-color: #d4c2e2;
  background: #f7f1fb;
  color: #56376b;
}

html.gv-theme-halloween .gv-proof-dialog-nav:hover:not(:disabled) {
  border-color: #b695d1;
  background: #ebddf7;
  color: #6025a4;
}

/* Mobile */
@media (max-width: 900px) {
  html.gv-theme-halloween .gv-mobile-filters-toggle {
    border-color: rgba(112, 56, 199, .26);
    background: linear-gradient(135deg, #fbf8ff, #eadcff 66%, #fff0ca);
    color: #552294;
    box-shadow: 0 11px 28px rgba(60, 32, 88, .13);
  }

  html.gv-theme-halloween .gv-mobile-filters-toggle::before {
    color: #7c3aed;
  }

  html.gv-theme-halloween .gv-mobile-filters-count {
    background: #7c3aed;
  }

  html.gv-theme-halloween .gv-filters-overlay {
    background: rgba(46, 25, 64, .48);
  }
}

@media (max-width: 820px) {
  html.gv-theme-halloween .gv-nav {
    border-color: rgba(112, 56, 199, .2);
    background:
      radial-gradient(circle at 100% 0, rgba(255, 195, 82, .16), transparent 32%),
      rgba(250, 246, 255, .98);
    box-shadow: 0 21px 52px rgba(53, 29, 78, .2);
  }
}

@media (max-width: 640px) {
  html.gv-theme-halloween body::after {
    background-size: 520px 376px, 720px 520px;
    background-position: 0 0, 190px 126px;
    opacity: .93;
  }

  html.gv-theme-halloween .gv-seasonal-ambient::before {
    background-size: 610px 440px, 850px 614px;
    background-position: 24px 18px, 310px 218px;
    opacity: .5;
  }

  html.gv-theme-halloween .gv-seasonal-ambient {
    top: 68px;
  }

  html.gv-theme-halloween .gv-ambient-star {
    font-size: 18px;
  }

  html.gv-theme-halloween .gv-ambient-art {
    width: 31px;
    height: 37px;
  }

  html.gv-theme-halloween .gv-ambient-star--1 { left: 2%; top: 3%; }
  html.gv-theme-halloween .gv-ambient-star--2 { left: auto; right: 4%; top: 11%; }
  html.gv-theme-halloween .gv-ambient-star--3 { right: auto; left: 1%; top: 27%; }
  html.gv-theme-halloween .gv-ambient-star--4 { left: auto; right: 2%; top: 42%; }
  html.gv-theme-halloween .gv-ambient-star--5 { right: auto; left: 3%; top: 57%; }
  html.gv-theme-halloween .gv-ambient-star--6 { left: auto; right: 4%; bottom: 23%; }
  html.gv-theme-halloween .gv-ambient-star--7 { right: auto; left: 2%; bottom: 9%; }
  html.gv-theme-halloween .gv-ambient-star--8 { left: auto; right: 3%; top: 72%; }
  html.gv-theme-halloween .gv-ambient-star--9 { left: 3%; top: 17%; font-size: 14px; }
  html.gv-theme-halloween .gv-ambient-star--10 { right: 3%; top: 23%; font-size: 16px; }
  html.gv-theme-halloween .gv-ambient-star--11 { right: auto; left: 2%; top: 36%; font-size: 13px; }
  html.gv-theme-halloween .gv-ambient-star--12 { left: auto; right: 3%; top: 52%; font-size: 15px; }
  html.gv-theme-halloween .gv-ambient-star--13 { right: auto; left: 3%; bottom: 27%; font-size: 14px; }
  html.gv-theme-halloween .gv-ambient-star--14 { left: auto; right: 4%; bottom: 4%; font-size: 13px; }
  html.gv-theme-halloween .gv-ambient-star--15 { left: 3%; top: 9%; font-size: 12px; }
  html.gv-theme-halloween .gv-ambient-star--16 { right: 2%; top: 30%; font-size: 16px; }
  html.gv-theme-halloween .gv-ambient-star--17 { left: 2%; top: 46%; font-size: 12px; }
  html.gv-theme-halloween .gv-ambient-star--18 { right: 3%; bottom: 34%; font-size: 14px; }
  html.gv-theme-halloween .gv-ambient-star--19 { left: 2%; top: 64%; font-size: 13px; }
  html.gv-theme-halloween .gv-ambient-star--20 { right: 3%; top: 83%; font-size: 12px; }

  html.gv-theme-halloween .gv-ambient-crystal--1 { left: auto; right: -4px; top: 18%; }
  html.gv-theme-halloween .gv-ambient-crystal--2 { right: auto; left: -5px; top: 49%; transform: scale(.86) rotate(-7deg); }
  html.gv-theme-halloween .gv-ambient-crystal--3 { left: auto; right: -3px; top: 79%; transform: scale(.82) rotate(6deg); }
  html.gv-theme-halloween .gv-ambient-pumpkin--1 { right: -4px; top: 33%; width: 34px; }
  html.gv-theme-halloween .gv-ambient-pumpkin--2 { left: -5px; bottom: 17%; width: 32px; }
  html.gv-theme-halloween .gv-ambient-hat--1 { right: -4px; top: 1%; width: 39px; }

  html.gv-theme-halloween .gv-header::before {
    left: 2vw;
    top: 4px;
    font-size: 13px;
  }

  html.gv-theme-halloween .gv-header::after {
    display: block;
    right: 1vw;
    bottom: 4px;
    font-size: 14px;
  }

  html.gv-theme-halloween .gv-logo::after {
    display: inline-block;
    margin-left: 5px;
    font-size: 10px;
    transform: translateY(-7px);
  }

  html.gv-theme-halloween .gv-header-inner::before {
    left: auto;
    right: 61px;
    top: 6px;
    width: 27px;
    height: 34px;
  }

  html.gv-theme-halloween .gv-header-inner::after {
    right: -6px;
    top: -10px;
    width: 39px;
    height: 36px;
  }

  html.gv-theme-halloween .gv-filters::before {
    top: -17px;
    left: -18px;
    width: 215px;
    height: 59px;
  }

  html.gv-theme-halloween .gv-filters::after {
    top: -13px;
    right: -72px;
    width: 135px;
    height: 122px;
    background:
      url("/images/halloween/witch-hat.svg") 39px 0 / 45px 39px no-repeat,
      url("/images/halloween/crystal.svg") 91px 45px / 34px 42px no-repeat,
      radial-gradient(circle at 65% 36%, rgba(255, 194, 87, .27), rgba(173, 119, 232, .13) 45%, transparent 72%);
  }

  html.gv-theme-halloween .gv-card:nth-child(3n + 1)::before {
    right: -45px;
    width: 176px;
    height: 49px;
  }

  html.gv-theme-halloween .gv-card:nth-child(3n + 2)::before {
    left: -63px;
    width: 171px;
    height: 48px;
  }

  html.gv-theme-halloween .gv-card:nth-child(3n)::before {
    width: 38px;
    height: 46px;
  }

  html.gv-theme-halloween .gv-card:nth-child(4n + 1)::after {
    width: 39px;
    height: 39px;
  }

  html.gv-theme-halloween .gv-card:nth-child(4n + 2)::after {
    width: 34px;
    height: 43px;
  }

  html.gv-theme-halloween .gv-card:nth-child(4n + 4)::after {
    width: 42px;
    height: 37px;
  }

  html.gv-theme-halloween :is(
    .cat-sidebar,
    .gv-brands-section,
    .gv-product-layout,
    .gv-suggest-card,
    .gv-contact-actions,
    .gv-info-card--main
  )::after {
    right: -47px;
    width: 198px;
    height: 91px;
    background:
      url("/images/halloween/garland.svg") right top / 158px 44px no-repeat,
      url("/images/halloween/crystal.svg") 52px 40px / 29px 37px no-repeat,
      url("/images/halloween/pumpkin.svg") 150px 45px / 32px 32px no-repeat;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.gv-theme-halloween *,
  html.gv-theme-halloween *::before,
  html.gv-theme-halloween *::after {
    scroll-behavior: auto !important;
  }

  html.gv-theme-halloween .gv-ambient-star {
    animation: none !important;
  }
}
