/**
 * Halloween edition overlays – gold / olive / terracotta.
 * Graphics: assets/img/halloween/. All marks pointer-events:none.
 * Never attach ::before/::after to grid containers (.hero-inner, .usps .wrap,
 * .cats, .grid, .single-product div.product).
 */

body.season-halloween .bar,
body.season-halloween .hero,
body.season-halloween .hero-copy,
body.season-halloween .hero-visual,
body.season-halloween .site-header .logo,
body.season-halloween .usps,
body.home.season-halloween .usps + section .sec-head,
body.home.season-halloween .usps + section .sec-head h2{
  position:relative;
}

body.season-halloween .bar{
  overflow:hidden;
}

/* Keep copy / CTAs / photo above hero-level marks */
body.season-halloween .hero-inner{
  position:relative;
  z-index:1;
}
body.season-halloween .hero-copy > *{
  position:relative;
  z-index:1;
}

/* Room above the kicker so the pumpkin pair does not sit on the text */
body.season-halloween .hero-copy{
  padding-top:108px;
}

body.season-halloween .bar::before,
body.season-halloween .bar::after,
body.season-halloween .hero::before,
body.season-halloween .hero-copy::before,
body.season-halloween .hero-copy::after,
body.season-halloween .hero-visual::before,
body.season-halloween .hero-visual::after,
body.season-halloween .site-header .logo::after,
body.season-halloween .usps::before,
body.season-halloween .usps::after,
body.home.season-halloween .usps + section .sec-head::before,
body.home.season-halloween .usps + section .sec-head h2::after{
  content:"";
  position:absolute;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}

/* Announcement bar */
body.season-halloween .bar::before{
  left:16px;
  top:50%;
  width:22px;
  height:20px;
  margin-top:-10px;
  background-image:url("img/halloween/pumpkin.svg?v=1.9.31");
  filter:drop-shadow(0 1px 2px rgba(34,56,44,.25));
}
body.season-halloween .bar::after{
  right:0;
  top:0;
  width:72px;
  height:36px;
  background-image:url("img/halloween/web-corner.svg?v=1.9.31");
  transform:scaleX(-1);
  opacity:.55;
}

/* Header: small pumpkin beside the wordmark */
body.season-halloween .site-header .logo::after{
  left:100%;
  top:4px;
  width:26px;
  height:23px;
  margin-left:10px;
  background-image:url("img/halloween/pumpkin.svg?v=1.9.31");
  filter:drop-shadow(0 2px 4px rgba(164,85,47,.2));
}

/* Hero: two pumpkins in the copy padding, left of the kicker */
body.season-halloween .hero-copy::before{
  left:16px;
  top:8px;
  width:148px;
  height:104px;
  background-image:url("img/halloween/pumpkin-pair.svg?v=1.9.31");
  filter:drop-shadow(0 6px 14px rgba(164,85,47,.18));
  z-index:0;
}

/* Hero: small silhouette bats in the upper copy padding, clear of headline and CTAs */
body.season-halloween .hero-copy::after{
  right:2%;
  top:14px;
  width:168px;
  height:56px;
  background-image:url("img/halloween/bats.svg?v=1.9.31");
  opacity:.82;
  animation:season-hw-drift 12s ease-in-out infinite;
  z-index:0;
}

/* Hero: maple leaf (replaces the failed Blatt-Zweig blob) */
body.season-halloween .hero::before{
  left:max(16px, calc(50% - 600px + 10px));
  bottom:16px;
  width:42px;
  height:48px;
  background-image:url("img/halloween/leaf-maple.svg?v=1.9.31");
  filter:drop-shadow(0 3px 6px rgba(92,107,74,.14));
  transform:rotate(-18deg);
  z-index:0;
}

/* Photo corner web – stone wall only, not the table */
body.season-halloween .hero-visual::before{
  right:0;
  top:0;
  width:168px;
  height:168px;
  background-image:url("img/halloween/web-corner.svg?v=1.9.31");
  transform:scaleX(-1);
  opacity:.42;
  z-index:1;
}

/* Photo: tiny bat, opposite the web, well clear of the table */
body.season-halloween .hero-visual::after{
  left:18px;
  top:22px;
  width:28px;
  height:12px;
  background-image:url("img/halloween/bat.svg?v=1.9.31");
  opacity:.7;
  animation:season-hw-drift-alt 14s ease-in-out infinite;
  z-index:1;
}

/* Trust bar: pumpkin left of the strip (clears Trusted Shops ~80px) */
body.season-halloween .usps::before{
  left:max(88px, calc(50% - 600px - 8px));
  top:50%;
  width:68px;
  height:60px;
  margin-top:-30px;
  background-image:url("img/halloween/pumpkin.svg?v=1.9.31");
  filter:drop-shadow(0 4px 10px rgba(164,85,47,.16));
  z-index:2;
}

/* Trust bar: oak leaf on the right */
body.season-halloween .usps::after{
  right:max(20px, calc(50% - 600px + 8px));
  top:50%;
  width:28px;
  height:48px;
  margin-top:-26px;
  background-image:url("img/halloween/leaf-oak.svg?v=1.9.31");
  transform:rotate(14deg);
  opacity:.95;
  z-index:2;
}

/* Category heading: small olive leaf left of the title */
body.home.season-halloween .usps + section .sec-head::before{
  left:-26px;
  top:4px;
  width:22px;
  height:40px;
  background-image:url("img/halloween/leaf-olive.svg?v=1.9.31");
  transform:rotate(-24deg);
  opacity:.9;
}

/* Category heading: pumpkin to the right of the title */
body.home.season-halloween .usps + section .sec-head h2::after{
  left:100%;
  top:6px;
  width:58px;
  height:52px;
  margin-left:14px;
  background-image:url("img/halloween/pumpkin.svg?v=1.9.31");
  filter:drop-shadow(0 4px 10px rgba(164,85,47,.16));
}

@keyframes season-hw-drift{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(8px,-7px,0)}
}

@keyframes season-hw-drift-alt{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-6px,-5px,0)}
}

body.season-halloween.woocommerce-checkout .bar::before,
body.season-halloween.woocommerce-checkout .bar::after,
body.season-halloween.woocommerce-cart .bar::before,
body.season-halloween.woocommerce-cart .bar::after,
body.season-halloween.woocommerce-account .bar::before,
body.season-halloween.woocommerce-account .bar::after,
body.season-halloween.woocommerce-checkout .usps::before,
body.season-halloween.woocommerce-checkout .usps::after,
body.season-halloween.woocommerce-cart .usps::before,
body.season-halloween.woocommerce-cart .usps::after,
body.season-halloween.woocommerce-checkout .site-header .logo::after,
body.season-halloween.woocommerce-cart .site-header .logo::after{
  display:none;
}

@media(max-width:960px){
  body.season-halloween .site-header .logo::after,
  body.season-halloween .hero::before,
  body.season-halloween .usps::after,
  body.season-halloween .hero-visual::before,
  body.season-halloween .hero-visual::after,
  body.home.season-halloween .usps + section .sec-head::before{
    display:none;
  }
  body.season-halloween .hero-copy{
    padding-top:88px;
  }
  body.season-halloween .hero-copy::before{
    left:8px;
    top:6px;
    width:108px;
    height:76px;
  }
  /* One small bat instead of the desktop cluster */
  body.season-halloween .hero-copy::after{
    right:10px;
    top:16px;
    width:36px;
    height:14px;
    background-image:url("img/halloween/bat.svg?v=1.9.31");
    opacity:.7;
  }
  body.season-halloween .usps::before{
    left:10px;
    width:44px;
    height:40px;
    margin-top:-20px;
  }
  body.home.season-halloween .usps + section .sec-head h2::after{
    width:40px;
    height:36px;
    margin-left:8px;
    top:4px;
  }
  body.season-halloween .bar::before{
    left:8px;
    width:18px;
    height:16px;
    margin-top:-8px;
  }
  body.season-halloween .bar::after{
    width:48px;
    height:28px;
  }
}

@media(max-width:560px){
  body.season-halloween .hero-copy{
    padding-top:76px;
  }
  body.season-halloween .hero-copy::before{
    width:88px;
    height:62px;
  }
  body.season-halloween .usps::before{
    display:none;
  }
  body.home.season-halloween .usps + section .sec-head h2::after{
    width:34px;
    height:30px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.season-halloween .hero-copy::after,
  body.season-halloween .hero-visual::after{
    animation:none;
  }
}
