:root {
  --tavazo-halloween-orange: #ff6f00;
  --tavazo-halloween-orange-hover: #d95700;
  --tavazo-halloween-purple: #3d1a56;
  --tavazo-halloween-purple-deep: #1d1024;
  --tavazo-halloween-cream: #fff8ef;
}

.tavazo-halloween-site-is-active {
  overflow-x: clip;
}

/* Site header ------------------------------------------------------------ */
.tavazo-halloween-site-is-active .site-header {
  border-block-end: 1px solid rgba(255, 111, 0, 0.2);
  background:
    radial-gradient(circle at 12% 0, rgba(255, 111, 0, 0.09), transparent 28%),
    radial-gradient(circle at 88% 100%, rgba(61, 26, 86, 0.07), transparent 32%),
    linear-gradient(110deg, #fffaf5 0%, #fff 48%, #fcf7ff 100%);
  box-shadow: 0 8px 34px rgba(39, 12, 45, 0.1);
}

.tavazo-halloween-site-is-active .site-header:not(.sticky-header) {
  position: relative;
}

.tavazo-halloween-site-is-active .site-header.sticky-header {
  background:
    radial-gradient(circle at 8% 0, rgba(255, 111, 0, 0.09), transparent 26%),
    linear-gradient(105deg, rgba(255, 250, 245, 0.98), rgba(255, 255, 255, 0.98) 55%, rgba(252, 247, 255, 0.98));
  border-block-end-color: rgba(255, 111, 0, 0.28);
  box-shadow: 0 10px 32px rgba(39, 12, 45, 0.14);
}

.tavazo-halloween-site-is-active .site-header > .t-container,
.tavazo-halloween-site-is-active .site-header .action-btns {
  position: relative;
  z-index: 2;
}

.tavazo-halloween-site-is-active:not(.tavazo-halloween-home-is-active) .site-header:not(.sticky-header)::before,
.tavazo-halloween-site-is-active .site-header.sticky-header::before {
  content: "";
  position: absolute;
  inset-block-start: -18px;
  inset-inline-end: -18px;
  z-index: 1;
  inline-size: clamp(84px, 9vw, 138px);
  aspect-ratio: 1;
  background: url("./images/spider-web.svg") center / contain no-repeat;
  filter: drop-shadow(0 4px 10px rgba(15, 5, 18, 0.18));
  opacity: 0.78;
  pointer-events: none;
  transform: rotate(-8deg);
}

.tavazo-halloween-site-is-active:not(.tavazo-halloween-home-is-active) .site-header:not(.sticky-header)::after {
  content: "";
  position: absolute;
  inset-block-start: 48px;
  inset-inline-start: 48%;
  z-index: 1;
  inline-size: 70px;
  block-size: 38px;
  background-image: url("./images/bat.svg"), url("./images/bat.svg");
  background-position: 0 0, 100% 100%;
  background-repeat: no-repeat;
  background-size: 28px auto, 19px auto;
  filter: brightness(0.35) saturate(0.6);
  opacity: 0.16;
  pointer-events: none;
  transform: rotate(-4deg);
}

.tavazo-halloween-site-is-active .pantry-topbar {
  min-block-size: 56px;
  padding: 8px 20px;
  color: #fff;
  background: #18181b;
  border-block-end: 1px solid rgba(255, 111, 0, 0.24);
  direction: rtl;
  gap: 12px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  text-shadow: none;
}

.tavazo-halloween-site-is-active .halloween-topbar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  inline-size: 38px;
  block-size: 38px;
  color: #18181b;
  background: #ff6f00;
  border-radius: 50%;
  box-shadow: 0 5px 16px rgba(255, 111, 0, 0.24);
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.tavazo-halloween-site-is-active .halloween-topbar__icon svg {
  display: block;
  inline-size: 21px;
  block-size: 19px;
}

.tavazo-halloween-site-is-active .halloween-topbar__text {
  color: #fff;
}

.tavazo-halloween-site-is-active .halloween-topbar:hover .halloween-topbar__icon,
.tavazo-halloween-site-is-active .halloween-topbar:focus-visible .halloween-topbar__icon {
  background: #ff8a24;
  box-shadow: 0 6px 20px rgba(255, 111, 0, 0.38);
  transform: rotate(-6deg) scale(1.04);
}

.tavazo-halloween-site-is-active .halloween-topbar:focus-visible {
  outline: 2px solid #ff9d42;
  outline-offset: -3px;
}

.tavazo-halloween-site-is-active .site-header .search-form {
  border: 1px solid rgba(255, 111, 0, 0.16);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 0 0 1px rgba(61, 26, 86, 0.025);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.tavazo-halloween-site-is-active .site-header .search-form:focus-within {
  border-color: rgba(255, 111, 0, 0.62);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 111, 0, 0.1);
}

.tavazo-halloween-site-is-active .header-top .action-btns .my-account,
.tavazo-halloween-site-is-active .tavazo-mini-cart .tmc-toggle,
.tavazo-halloween-site-is-active .sticky-header-search-toggle {
  border-color: rgba(255, 111, 0, 0.26);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 3px 12px rgba(61, 26, 86, 0.08);
}

.tavazo-halloween-site-is-active .header-top .action-btns .my-account:hover,
.tavazo-halloween-site-is-active .tavazo-mini-cart .tmc-toggle:hover,
.tavazo-halloween-site-is-active .sticky-header-search-toggle:hover {
  border-color: rgba(255, 111, 0, 0.72);
  color: var(--tavazo-halloween-orange);
  box-shadow: 0 4px 16px rgba(255, 111, 0, 0.15);
}

.tavazo-halloween-site-is-active .tavazo-language-selector .dropdown,
.tavazo-halloween-site-is-active .header-bottom .menu li.menu-item-has-children ul.sub-menu,
.tavazo-halloween-site-is-active .tavazo-mini-cart .tmc-dropdown {
  border-color: rgba(255, 111, 0, 0.28);
  background: var(--tavazo-halloween-cream);
  box-shadow: 0 14px 28px rgba(39, 12, 45, 0.14);
}

.tavazo-halloween-site-is-active .site-header .menu li a:hover,
.tavazo-halloween-site-is-active .site-header .shipping-costs:hover {
  color: var(--tavazo-halloween-orange);
}

.tavazo-halloween-site-is-active .site-header .menu li.current-menu-item > a::before {
  background: var(--tavazo-halloween-orange);
  box-shadow: 0 0 0 4px rgba(255, 111, 0, 0.1);
}

.tavazo-halloween-site-is-active .site-header .go-to-shop-btn {
  color: var(--tavazo-halloween-orange);
  border-color: var(--tavazo-halloween-orange);
  background: rgba(255, 111, 0, 0.04);
}

.tavazo-halloween-site-is-active .site-header .go-to-shop-btn:hover {
  color: #fff;
  background: var(--tavazo-halloween-orange);
}

.tavazo-halloween-site-is-active .tavazo-mega-menu__title,
.tavazo-halloween-site-is-active .tavazo-mega-menu__icon,
.tavazo-halloween-site-is-active .tavazo-mega-menu__icon use {
  color: var(--tavazo-halloween-orange);
}

/* Halloween treatment for every header/footer logo. */
.tavazo-halloween-site-is-active .site-logo {
  position: relative;
  isolation: isolate;
  overflow: visible;
}

.tavazo-halloween-site-is-active .site-logo > img,
.tavazo-halloween-site-is-active .site-footer .logo > img {
  position: relative;
  z-index: 1;
  filter: sepia(0.24) saturate(1.6) hue-rotate(-18deg) contrast(1.06) drop-shadow(0 4px 7px rgba(61, 26, 86, 0.24));
}

.tavazo-halloween-site-is-active .site-logo::before,
.tavazo-halloween-site-is-active .site-logo::after {
  content: "";
  position: absolute;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

.tavazo-halloween-site-is-active .site-logo::before {
  inset-inline-end: -13px;
  inset-block-end: -10px;
  z-index: 0;
  inline-size: 34px;
  block-size: 34px;
  opacity: 0.62;
  background-image: url("./images/spider-web.svg");
  transform: rotate(18deg);
}

.tavazo-halloween-site-is-active .site-logo::after {
  inset-inline-start: -9px;
  inset-block-start: -15px;
  z-index: 2;
  inline-size: 30px;
  block-size: 30px;
  background-image: url("./images/wizard-hat.svg");
  filter: drop-shadow(0 4px 5px rgba(39, 12, 45, 0.3));
  transform: rotate(11deg);
}

/* Mobile navigation is part of the site header experience. */
.tavazo-halloween-site-is-active .mobile-menu {
  border-color: rgba(255, 111, 0, 0.35);
  background:
    radial-gradient(circle at 0 0, rgba(255, 111, 0, 0.12), transparent 28%),
    linear-gradient(160deg, #fffaf4, #fff 54%, #faf4ff);
  box-shadow: 0 12px 50px rgba(39, 12, 45, 0.22);
}

.tavazo-halloween-site-is-active .mobile-menu::before {
  content: "";
  position: absolute;
  inset-block-start: -14px;
  inset-inline-end: -14px;
  z-index: 0;
  inline-size: 92px;
  aspect-ratio: 1;
  background: url("./images/spider-web.svg") center / contain no-repeat;
  opacity: 0.58;
  pointer-events: none;
  transform: rotate(-8deg);
}

.tavazo-halloween-site-is-active .mobile-menu-wrapper {
  position: relative;
  z-index: 1;
}

.tavazo-halloween-site-is-active .mobile-menu-wrapper .top {
  border-block-end-color: rgba(255, 111, 0, 0.24);
  background: rgba(255, 255, 255, 0.72);
}

/* Site footer ------------------------------------------------------------ */
.tavazo-halloween-site-is-active .site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #f8f3fb;
  border-block-start: 2px solid var(--tavazo-halloween-orange);
  background-color: var(--tavazo-halloween-purple-deep);
  background-image:
    radial-gradient(circle at 10% 15%, rgba(255, 111, 0, 0.16), transparent 24%),
    radial-gradient(circle at 92% 76%, rgba(116, 57, 145, 0.28), transparent 30%),
    linear-gradient(135deg, #211128 0%, #160d1c 56%, #271331 100%);
  box-shadow: inset 0 18px 44px rgba(0, 0, 0, 0.16), 0 -10px 30px rgba(61, 26, 86, 0.12);
}

.tavazo-halloween-site-is-active .site-footer::before,
.tavazo-halloween-site-is-active .site-footer::after {
  content: "";
  position: absolute;
  z-index: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

.tavazo-halloween-site-is-active .site-footer::before {
  inset-block-start: -22px;
  inset-inline-end: -22px;
  inline-size: clamp(110px, 14vw, 210px);
  aspect-ratio: 1;
  background-image: url("./images/spider-web.svg");
  opacity: 0.32;
  transform: rotate(-9deg);
}

.tavazo-halloween-site-is-active .site-footer::after {
  inset-inline-start: clamp(14px, 4vw, 70px);
  inset-block-end: 36px;
  inline-size: clamp(82px, 9vw, 132px);
  aspect-ratio: 1;
  background-image: url("./images/pumpkin.svg");
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.28));
  opacity: 0.2;
  transform: rotate(-9deg);
}

.tavazo-halloween-site-is-active .site-footer > * {
  position: relative;
  z-index: 1;
}

.tavazo-halloween-site-is-active .site-footer .top .heading .title,
.tavazo-halloween-site-is-active .site-footer .bottem .col .heading {
  color: #fff;
}

.tavazo-halloween-site-is-active .site-footer .top .heading .title {
  text-shadow: 0 2px 12px rgba(255, 111, 0, 0.2);
}

.tavazo-halloween-site-is-active .site-footer .top .heading .disc {
  color: #cfc4d6;
}

.tavazo-halloween-site-is-active .footer-newsletter-form-wrapper input {
  color: #2d1a35;
  border-color: rgba(255, 139, 42, 0.48);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
}

.tavazo-halloween-site-is-active .footer-newsletter-form-wrapper button {
  color: #fff;
  border-color: var(--tavazo-halloween-orange) !important;
  background: var(--tavazo-halloween-orange) !important;
  box-shadow: 0 6px 18px rgba(255, 111, 0, 0.22);
}

.tavazo-halloween-site-is-active .footer-newsletter-form-wrapper button:hover {
  border-color: var(--tavazo-halloween-orange-hover) !important;
  background: var(--tavazo-halloween-orange-hover) !important;
}

.tavazo-halloween-site-is-active .site-footer .middle {
  border-top-color: rgba(255, 139, 42, 0.58);
}

.tavazo-halloween-site-is-active .site-footer .middle .tavazo-media .logo span {
  color: #ff9d42;
}

.tavazo-halloween-site-is-active .site-footer .middle .tavazo-media .social a,
.tavazo-halloween-site-is-active .site-footer .social.in-mobile a {
  color: #fff;
  transition: color 160ms ease, transform 160ms ease;
}

.tavazo-halloween-site-is-active .site-footer .middle .tavazo-media .social a:hover,
.tavazo-halloween-site-is-active .site-footer .social.in-mobile a:hover {
  color: #ff9d42;
  transform: translateY(-2px);
}

.tavazo-halloween-site-is-active .site-footer .social svg {
  filter: brightness(0) invert(1);
}

.tavazo-halloween-site-is-active .site-footer .middle .companies .banks {
  border-inline-end-color: rgba(255, 255, 255, 0.22);
}

.tavazo-halloween-site-is-active .site-footer .middle .companies .banks svg {
  filter: brightness(0) invert(1);
  opacity: 0.86;
}

.tavazo-halloween-site-is-active .site-footer .middle .companies .posts img {
  box-sizing: content-box;
  padding: 5px 7px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
}

.tavazo-halloween-site-is-active .site-footer .bottem {
  border: 1px solid rgba(255, 139, 42, 0.2);
  background:
    linear-gradient(120deg, rgba(255, 111, 0, 0.07), transparent 32%),
    rgba(255, 255, 255, 0.065) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 18px 34px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(5px);
}

.tavazo-halloween-site-is-active .site-footer .bottem .col .heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}

.tavazo-halloween-site-is-active .site-footer .bottem .col .heading::after {
  content: "";
  position: static;
  flex: 0 0 28px;
  inline-size: 28px;
  block-size: 2px;
  border-radius: 99px;
  background: var(--tavazo-halloween-orange);
  box-shadow: 0 0 10px rgba(255, 111, 0, 0.35);
}

.tavazo-halloween-site-is-active .site-footer .bottem .col .footer-menu li a {
  color: #d8cfe0;
}

.tavazo-halloween-site-is-active .site-footer .bottem .col .footer-menu li a:hover {
  color: #ff9d42;
}

.tavazo-halloween-site-is-active .site-footer .social.in-mobile {
  border-top-color: rgba(255, 255, 255, 0.16);
}

.tavazo-halloween-site-is-active .site-footer .bar {
  border-block-start: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(90deg, #ca4f00, var(--tavazo-halloween-orange) 45%, #6a2b7c);
}

.tavazo-halloween-site-is-active .site-footer .bar p {
  color: #fff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.24);
}

.tavazo-halloween-site-is-active .site-header.sticky-header .mobile-menu-toggle {
  align-items: center;
  justify-content: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  color: #3f3f46;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 111, 0, 0.24);
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(61, 26, 86, 0.08);
  font: inherit;
  cursor: pointer;
}

.tavazo-halloween-site-is-active .mobile-menu-toggle__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tavazo-halloween-site-is-active .mobile-menu-toggle__icon svg {
  display: block;
}

.tavazo-halloween-site-is-active .mobile-menu-toggle__label {
  display: none;
}

@media (max-width: 768px) {
  .tavazo-halloween-site-is-active .site-header:not(.sticky-header)::after {
    display: none;
  }

  .tavazo-halloween-site-is-active .mobile-menu-toggle,
  .tavazo-halloween-site-is-active .site-header.sticky-header .mobile-menu-toggle {
  max-width: 44px;
  max-height: 44px;
  align-items: center;
  justify-content: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  color: #3f3f46;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 111, 0, 0.24);
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(61, 26, 86, 0.08);
  font: inherit;
  cursor: pointer;
  font: inherit;
  cursor: pointer;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  margin-left: 15px;
  }

  .tavazo-halloween-site-is-active .mobile-menu-toggle__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    inline-size: 22px;
    block-size: 22px;
    max-width: 100%;
    height: auto;
  }

  .tavazo-halloween-site-is-active .mobile-menu-toggle__icon svg {
    display: block;
    inline-size: 17px;
    block-size: 17px;
  }

  .tavazo-halloween-site-is-active .mobile-menu-toggle__label {
    display: inline;
    color: #52525b;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
  }

  .tavazo-halloween-site-is-active .mobile-menu-toggle:hover,
  .tavazo-halloween-site-is-active .mobile-menu-toggle:focus-visible {
    border-color: rgba(255, 111, 0, 0.46);
    box-shadow: 0 3px 7px rgba(24, 24, 27, 0.14), 0 10px 26px rgba(255, 111, 0, 0.12);
    outline: none;
    transform: translateY(-1px);
  }

  .tavazo-halloween-site-is-active .site-header .header-top {
    gap: 12px;
  }

  .tavazo-halloween-site-is-active .site-header .logo-search {
    flex: 1 1 auto;
    inline-size: auto;
    min-inline-size: 0;
    gap: 12px;
  }

  .tavazo-halloween-site-is-active .site-header .search-form {
    inline-size: auto;
    min-inline-size: 0;
  }

  .tavazo-halloween-site-is-active .site-header.sticky-header .mobile-menu-toggle {
  max-width: 44px;
  max-height: 44px;
  align-items: center;
  justify-content: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  color: #3f3f46;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 111, 0, 0.24);
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(61, 26, 86, 0.08);
  font: inherit;
  cursor: pointer;
  margin-left: 14px;
  }

  .tavazo-halloween-site-is-active .pantry-topbar {
    min-block-size: 48px;
    padding: 6px 12px;
    gap: 8px;
    font-size: 12.5px;
    line-height: 1.55;
  }

  .tavazo-halloween-site-is-active .halloween-topbar__icon {
    inline-size: 32px;
    block-size: 32px;
  }

  .tavazo-halloween-site-is-active .halloween-topbar__icon svg {
    inline-size: 18px;
    block-size: 16px;
  }

  .tavazo-halloween-site-is-active .site-footer::before {
    inline-size: 112px;
    opacity: 0.24;
  }

  .tavazo-halloween-site-is-active .site-footer::after {
    inset-inline-start: 12px;
    inset-block-end: 28px;
    inline-size: 84px;
    opacity: 0.15;
  }

  .tavazo-halloween-site-is-active .site-footer .bottem {
    border-radius: 18px;
    padding: 22px 18px;
  }

  .tavazo-halloween-site-is-active .site-footer .middle .companies .posts img {
    padding: 4px 5px;
  }
}

@media (max-width: 480px) {
  .tavazo-halloween-site-is-active .site-logo::before {
    inset-inline-end: -9px;
    inset-block-end: -7px;
    inline-size: 26px;
    block-size: 26px;
  }

  .tavazo-halloween-site-is-active .site-logo::after {
    inset-inline-start: -7px;
    inset-block-start: -11px;
    inline-size: 24px;
    block-size: 24px;
  }

  .tavazo-halloween-site-is-active .site-footer .top {
    padding-block-start: 32px;
  }

  .tavazo-halloween-site-is-active .site-footer .bar {
    padding-inline: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tavazo-halloween-site-is-active .site-header *,
  .tavazo-halloween-site-is-active .site-footer * {
    transition-duration: 1ms !important;
  }
}
