/* Elite Chaos Halloween Theme V90
   Loaded ONLY when body has .ec-halloween-active.
   Halloween AUS: this file has no visual effect on the normal black/red/white site. */

body.ec-halloween-active {
  --v50-red:#ff9800;
  --v50-line:#7a4700;
  --v50-panel:rgba(5,4,1,.95);
  --pink:#ff9800;
  --violet:#ffc400;
  --line:#6d4300;
  --panel:#070501;
  --muted:#c8b58f;
  color:#fff6df;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,153,0,.15), transparent 34rem),
    radial-gradient(circle at 12% 44%, rgba(255,196,0,.08), transparent 28rem),
    radial-gradient(circle at 88% 58%, rgba(255,119,0,.08), transparent 30rem),
    #010101 !important;
}

/* Main theme: black base, orange borders, yellow/gold highlights. */
body.ec-halloween-active .site-header,
body.ec-halloween-active .v50-bg,
body.ec-halloween-active .v50-shell {
  background-color:#020201 !important;
}
body.ec-halloween-active .site-header {
  border-bottom-color:rgba(255,159,0,.34) !important;
  box-shadow:0 8px 30px rgba(0,0,0,.72),0 1px 0 rgba(255,188,0,.12);
}
body.ec-halloween-active .v50-bg {
  background:
    radial-gradient(circle at 50% 12%, rgba(255,146,0,.10), transparent 28%),
    radial-gradient(circle at 48% 76%, rgba(255,210,0,.045), transparent 36%),
    #010101 !important;
}
body.ec-halloween-active .v50-red-haze {
  filter:hue-rotate(34deg) saturate(1.55) brightness(.85) !important;
  opacity:.52 !important;
}

body.ec-halloween-active :is(
  .v50-nav,.v50-player,.v50-card,.v50-hero,.v50-bottom-banner,.v50-footer,
  .v50-access-card,.v50-welcome,.v73-weather-card,.v50-radio-de-standalone,
  .v50-side-card,.v50-panel,.card,.panel,.feature-card
) {
  border-color:rgba(255,149,0,.50) !important;
  background-color:rgba(5,4,1,.91) !important;
  box-shadow:0 0 0 1px rgba(255,196,0,.025),0 15px 40px rgba(0,0,0,.48);
}

body.ec-halloween-active :is(
  .brand span,.main-nav a:hover,.v50-label,.v50-nav span,.v50-live-line span,
  .v50-player-status,.v50-meta strong,.v74-rating-status,.v50-footer .v50-label,
  .eyebrow,.kicker,.section-label
) {
  color:#ff9f00 !important;
  text-shadow:0 0 10px rgba(255,160,0,.26);
}
body.ec-halloween-active :is(h1,h2,h3,.v50-title,.v50-card h3) {
  text-shadow:0 0 14px rgba(255,177,0,.08);
}
body.ec-halloween-active .v50-nav a,
body.ec-halloween-active :is(.v50-button,.v50-player-icon,.v50-social a,.v50-cta-actions a,button) {
  border-color:rgba(255,148,0,.36) !important;
}
body.ec-halloween-active .v50-nav a:hover,
body.ec-halloween-active :is(.v50-button,.v50-player-icon,.v50-social a,.v50-cta-actions a,button):hover {
  border-color:#ffc400 !important;
  box-shadow:0 0 18px rgba(255,164,0,.24) !important;
}
body.ec-halloween-active :is(.v50-button,.v50-cta-actions a,.v50-wish-form button,.btn-primary) {
  background:linear-gradient(135deg,#713300,#e67800 52%,#ffc400) !important;
  border-color:#ffb000 !important;
  color:#fff8e4 !important;
}
body.ec-halloween-active :is(input,textarea,select,.v50-wish-form input,.v50-wish-form textarea) {
  border-color:rgba(255,151,0,.42) !important;
  background:rgba(2,2,1,.94) !important;
  color:#fff7e5 !important;
}
body.ec-halloween-active :is(input,textarea,select):focus {
  outline:none;
  border-color:#ffc400 !important;
  box-shadow:0 0 0 2px rgba(255,196,0,.13),0 0 18px rgba(255,150,0,.15);
}

/* Red station glow becomes Halloween amber/gold. */
body.ec-halloween-active :is(.v55-eye,.v50-eye,.v50-radio-de-eye) {
  background:radial-gradient(circle,#fff7c2 0 5%,#ffd64a 16%,#ff9a00 43%,transparent 70%) !important;
  box-shadow:0 0 5px #fff0a6,0 0 12px #ffad00,0 0 25px #ff6f00 !important;
}
body.ec-halloween-active .v50-onair,
body.ec-halloween-active .v74-live-badge {
  border-color:#ff9e00 !important;
  color:#ffc047 !important;
  background:rgba(49,24,0,.76) !important;
  box-shadow:0 0 24px rgba(255,137,0,.24) !important;
}
body.ec-halloween-active .v50-player-status i,
body.ec-halloween-active .v50-radio-de-dot {
  background:#ff9a00 !important;
  box-shadow:0 0 13px #ff8a00 !important;
}
body.ec-halloween-active :is(.v50-header img,.v55-skull img,.v50-skull img) {
  filter:hue-rotate(31deg) saturate(1.28) contrast(1.06) brightness(.92) !important;
}

/* ---------- MOVING HALLOWEEN LAYER ---------- */
.ec-halloween-layer {
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:9998;
  isolation:isolate;
}

/* dense fog, but still readable */
.ec-halloween-fog,
.ec-halloween-fog::before,
.ec-halloween-fog::after {
  content:'';
  position:absolute;
  left:-20vw;
  right:-20vw;
  bottom:-11vh;
  height:48vh;
  pointer-events:none;
}
.ec-halloween-fog {
  opacity:.44;
  background:
    radial-gradient(ellipse at 8% 78%,rgba(240,240,248,.52) 0 12%,transparent 42%),
    radial-gradient(ellipse at 35% 83%,rgba(210,213,225,.46) 0 17%,transparent 48%),
    radial-gradient(ellipse at 67% 74%,rgba(235,235,244,.45) 0 15%,transparent 47%),
    radial-gradient(ellipse at 95% 82%,rgba(205,208,220,.46) 0 15%,transparent 46%);
  filter:blur(22px);
  animation:ecFogA 14s ease-in-out infinite alternate;
}
.ec-halloween-fog::before {
  bottom:9vh;
  opacity:.54;
  background:
    radial-gradient(ellipse at 18% 76%,rgba(220,222,232,.40) 0 16%,transparent 46%),
    radial-gradient(ellipse at 52% 86%,rgba(245,245,250,.37) 0 15%,transparent 49%),
    radial-gradient(ellipse at 84% 70%,rgba(215,217,230,.40) 0 15%,transparent 46%);
  filter:blur(28px);
  animation:ecFogB 21s ease-in-out infinite alternate;
}
.ec-halloween-fog::after {
  bottom:-3vh;
  opacity:.32;
  background:linear-gradient(180deg,transparent,rgba(230,230,238,.15) 35%,rgba(205,208,220,.27));
  filter:blur(12px);
  animation:ecFogC 10s ease-in-out infinite alternate;
}

/* User-supplied ghost artwork, extracted into transparent sprites. */
.ec-halloween-ghost {
  --g-size:180px;
  --g-y:20vh;
  --g-duration:28s;
  --g-delay:0s;
  --g-opacity:.55;
  position:absolute;
  left:0;
  top:0;
  width:var(--g-size);
  height:calc(var(--g-size) * 1.16);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:0;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 12px rgba(255,255,255,.30)) drop-shadow(0 0 28px rgba(205,210,230,.16));
  animation:none;
  will-change:transform,opacity;
  z-index:4;
}
.ec-halloween-ghost.ec-halloween-ghost-fallback {
  animation:ecGhostTravel var(--g-duration) linear var(--g-delay) infinite;
}
.ec-halloween-ghost.g1{background-image:url('../img/halloween/ghost-1.png')}
.ec-halloween-ghost.g2{background-image:url('../img/halloween/ghost-2.png')}
.ec-halloween-ghost.g3{background-image:url('../img/halloween/ghost-3.png')}
.ec-halloween-ghost.g4{background-image:url('../img/halloween/ghost-4.png')}
.ec-halloween-ghost.g5{background-image:url('../img/halloween/ghost-5.png')}
.ec-halloween-ghost.g6{background-image:url('../img/halloween/ghost-6.png')}

/* Blood curtain: irregular top edge and long drips. */
.ec-halloween-blood-edge {
  position:absolute;
  left:-2vw;
  top:-42px;
  width:104vw;
  height:84px;
  background:
    radial-gradient(ellipse at 4% 62%,#5c0000 0 20px,transparent 22px),
    radial-gradient(ellipse at 12% 52%,#780000 0 31px,transparent 33px),
    radial-gradient(ellipse at 23% 58%,#4b0000 0 25px,transparent 27px),
    radial-gradient(ellipse at 38% 49%,#850000 0 34px,transparent 36px),
    radial-gradient(ellipse at 55% 60%,#5a0000 0 27px,transparent 29px),
    radial-gradient(ellipse at 71% 52%,#7a0000 0 33px,transparent 35px),
    radial-gradient(ellipse at 87% 61%,#510000 0 25px,transparent 27px),
    linear-gradient(180deg,#2c0000 0,#650000 46%,#930808 100%);
  box-shadow:0 8px 18px rgba(65,0,0,.42);
  opacity:.96;
}
.ec-halloween-drip {
  position:absolute;
  top:20px;
  left:var(--x);
  width:var(--w);
  height:var(--h);
  border-radius:42% 48% 56% 50% / 8% 12% 88% 92%;
  background:linear-gradient(90deg,#350000,#9a0a0a 46%,#4b0000 100%);
  box-shadow:inset 2px 0 3px rgba(255,95,70,.15),0 5px 8px rgba(30,0,0,.25);
  transform-origin:top center;
  animation:ecDripPulse var(--d,8s) ease-in-out var(--delay,0s) infinite;
}
.ec-halloween-drip::after {
  content:'';
  position:absolute;
  left:50%;
  bottom:-9px;
  width:calc(var(--w) * 1.45);
  height:calc(var(--w) * 1.7);
  transform:translateX(-50%);
  border-radius:55% 45% 58% 42%;
  background:radial-gradient(circle at 40% 30%,#b01a15,#610000 65%,#350000);
}

/* Large irregular splatter, appearing only occasionally. */
.ec-halloween-splat {
  --sx:72vw; --sy:24vh; --scale:1;
  position:absolute;
  left:var(--sx);
  top:var(--sy);
  width:250px;
  height:190px;
  opacity:0;
  transform:translate(-50%,-50%) scale(var(--scale)) rotate(-8deg);
  animation:ecSplatShow 21s ease-in-out var(--delay,0s) infinite;
}
.ec-halloween-splat::before {
  content:'';
  position:absolute;
  inset:24px 34px 28px 28px;
  background:
    radial-gradient(circle at 22% 28%,#8b0505 0 9px,transparent 10px),
    radial-gradient(circle at 81% 18%,#630000 0 7px,transparent 8px),
    radial-gradient(circle at 88% 69%,#a80a08 0 11px,transparent 12px),
    radial-gradient(circle at 14% 78%,#540000 0 8px,transparent 9px),
    radial-gradient(ellipse at 48% 52%,#8d0303 0 62px,#530000 70px,transparent 73px);
  filter:drop-shadow(0 3px 5px rgba(20,0,0,.40));
  clip-path:polygon(2% 47%,18% 36%,8% 22%,27% 27%,33% 6%,45% 25%,58% 2%,63% 26%,86% 14%,78% 35%,100% 42%,81% 54%,96% 71%,72% 68%,68% 95%,53% 75%,37% 98%,35% 73%,9% 86%,21% 62%);
}
.ec-halloween-splat::after {
  content:'';
  position:absolute;
  left:108px;
  top:104px;
  width:15px;
  height:148px;
  border-radius:45% 55% 60% 40% / 4% 4% 96% 96%;
  background:linear-gradient(90deg,#3b0000,#920706,#4a0000);
  box-shadow:-55px 5px 0 -4px #650000,62px -12px 0 -5px #780000,94px 17px 0 -6px #4d0000;
}

/* Small flying drops/specks. */
.ec-halloween-drop {
  position:absolute;
  left:var(--x);
  top:-30px;
  width:8px;
  height:16px;
  border-radius:55% 45% 60% 40%;
  background:radial-gradient(circle at 38% 28%,#bd1a14,#690000 66%,#310000);
  opacity:0;
  animation:ecDropFall var(--dur,6s) ease-in var(--delay,0s) infinite;
}

/* orange ambient pulse, slow and non-strobing */
.ec-halloween-amber {
  position:absolute;
  inset:0;
  opacity:0;
  background:radial-gradient(circle at 50% 38%,rgba(255,151,0,.10),transparent 48%);
  animation:ecAmber 13s ease-in-out infinite;
}

@keyframes ecGhostTravel {
  0%{transform:translate3d(-18vw,18px,0) scale(.78) rotate(-4deg);opacity:0}
  8%{opacity:var(--g-opacity)}
  24%{transform:translate3d(25vw,-20px,0) scale(1.02) rotate(1deg);opacity:calc(var(--g-opacity)*.94)}
  38%{opacity:calc(var(--g-opacity)*.18)}
  48%{transform:translate3d(55vw,24px,0) scale(1.14) rotate(-2deg);opacity:calc(var(--g-opacity)*.80)}
  66%{opacity:calc(var(--g-opacity)*.30)}
  80%{transform:translate3d(92vw,-16px,0) scale(1.04) rotate(3deg);opacity:calc(var(--g-opacity)*.88)}
  100%{transform:translate3d(138vw,9px,0) scale(.88) rotate(-1deg);opacity:0}
}
@keyframes ecFogA{from{transform:translateX(-3vw) scale(1)}to{transform:translateX(7vw) scale(1.07)}}
@keyframes ecFogB{from{transform:translateX(7vw) scale(1.06)}to{transform:translateX(-6vw) scale(.98)}}
@keyframes ecFogC{from{opacity:.18;transform:translateY(6px)}to{opacity:.38;transform:translateY(-8px)}}
@keyframes ecDripPulse{0%,100%{transform:scaleY(.82)}40%{transform:scaleY(1.08)}70%{transform:scaleY(.94)}}
@keyframes ecSplatShow{0%,73%,100%{opacity:0}76%{opacity:.05}79%,88%{opacity:.86}93%{opacity:.25}}
@keyframes ecDropFall{0%,18%{opacity:0;transform:translateY(-10vh) scale(.8)}22%{opacity:.88}76%{opacity:.78}100%{opacity:0;transform:translateY(112vh) scale(1.12)}}
@keyframes ecAmber{0%,100%{opacity:0}42%{opacity:.12}49%{opacity:.27}58%{opacity:.06}}

@media (max-width:760px) {
  .ec-halloween-ghost{filter:drop-shadow(0 0 10px rgba(255,255,255,.22));--g-opacity:.34}
  .ec-halloween-fog{opacity:.34;height:40vh}
  .ec-halloween-splat{width:180px;height:145px}
  .ec-halloween-blood-edge{height:68px;top:-38px}
}
@media (prefers-reduced-motion:reduce) {
  /* Geister bleiben sichtbar. Nur die Bewegung wird ruhiger, statt sie komplett auszublenden. */
  .ec-halloween-ghost{display:block!important;filter:drop-shadow(0 0 10px rgba(255,255,255,.24));}
  .ec-halloween-fog{animation:none!important;opacity:.28!important}
  .ec-halloween-drip,.ec-halloween-splat,.ec-halloween-drop,.ec-halloween-amber{animation:none!important}
}


/* ===== Halloween V91 blood redesign: deliberately irregular, dark and organic ===== */
body.ec-halloween-active .site-header{
  position:relative;
  z-index:10020 !important;
}
body.ec-halloween-active .main-nav a[href="/admin/"]{
  position:relative;
  z-index:10025;
  color:#160b00 !important;
  font-weight:900 !important;
  letter-spacing:.04em;
  background:linear-gradient(135deg,#ffd83d 0%,#ff9d00 55%,#ff6a00 100%) !important;
  border:1px solid #ffe16a !important;
  border-radius:8px;
  padding:.5rem .8rem !important;
  box-shadow:0 0 0 2px rgba(255,137,0,.22),0 0 18px rgba(255,170,0,.72),0 0 38px rgba(255,100,0,.34) !important;
  text-shadow:none !important;
}
body.ec-halloween-active .main-nav a[href="/admin/"]:hover{
  transform:translateY(-1px) scale(1.04);
  box-shadow:0 0 0 2px rgba(255,235,135,.30),0 0 24px rgba(255,190,0,.9),0 0 50px rgba(255,90,0,.42) !important;
}

/* The old smooth curtain is overridden by a torn, uneven top spill. */
.ec-halloween-blood-edge{
  top:-30px !important;
  height:74px !important;
  opacity:.93 !important;
  background:
    radial-gradient(ellipse at 3% 72%,rgba(82,0,0,.98) 0 22px,transparent 24px),
    radial-gradient(ellipse at 9% 58%,rgba(122,2,2,.96) 0 17px,transparent 19px),
    radial-gradient(ellipse at 19% 76%,rgba(66,0,0,.98) 0 31px,transparent 33px),
    radial-gradient(ellipse at 31% 53%,rgba(135,4,3,.94) 0 23px,transparent 25px),
    radial-gradient(ellipse at 47% 79%,rgba(74,0,0,.98) 0 28px,transparent 30px),
    radial-gradient(ellipse at 62% 49%,rgba(116,2,2,.97) 0 20px,transparent 22px),
    radial-gradient(ellipse at 76% 74%,rgba(69,0,0,.98) 0 34px,transparent 36px),
    radial-gradient(ellipse at 91% 57%,rgba(130,3,3,.95) 0 25px,transparent 27px),
    linear-gradient(180deg,#180000 0%,#3b0000 28%,#6e0303 68%,#310000 100%) !important;
  clip-path:polygon(0 0,100% 0,100% 62%,97% 55%,94% 72%,90% 58%,86% 79%,82% 56%,77% 68%,72% 51%,67% 77%,62% 61%,57% 83%,52% 55%,47% 73%,42% 57%,37% 81%,31% 59%,26% 70%,21% 50%,16% 79%,11% 58%,6% 71%,0 60%) !important;
  box-shadow:0 9px 20px rgba(40,0,0,.55), inset 0 -7px 10px rgba(20,0,0,.35) !important;
}
.ec-halloween-drip{
  top:30px !important;
  border-radius:55% 45% 47% 53% / 2% 3% 97% 98% !important;
  background:linear-gradient(90deg,#230000 0%,#5e0000 24%,#9a0808 50%,#4a0000 78%,#190000 100%) !important;
  box-shadow:inset 1px 0 1px rgba(255,110,88,.16), inset -2px 0 4px rgba(17,0,0,.55),0 4px 8px rgba(17,0,0,.45) !important;
  transform:rotate(var(--tilt,0deg));
}
.ec-halloween-drip::after{
  width:calc(var(--w) * 1.9) !important;
  height:calc(var(--w) * 2.25) !important;
  bottom:-12px !important;
  border-radius:48% 52% 58% 42% / 38% 42% 62% 58% !important;
  background:radial-gradient(circle at 37% 23%,#b51b16 0 9%,#760302 33%,#380000 72%,#190000 100%) !important;
}

/* Organic splash. No mirrored geometry, no neat circles. */
.ec-halloween-splat{
  width:310px !important;
  height:250px !important;
  filter:drop-shadow(0 5px 7px rgba(15,0,0,.48));
}
.ec-halloween-splat::before{
  inset:22px 24px 28px 20px !important;
  clip-path:polygon(3% 45%,12% 38%,7% 28%,18% 31%,23% 13%,30% 29%,39% 5%,43% 28%,57% 16%,61% 34%,78% 18%,73% 39%,96% 31%,83% 48%,100% 56%,78% 61%,91% 80%,67% 70%,61% 96%,48% 76%,33% 93%,30% 70%,9% 83%,18% 61%) !important;
  background:
    radial-gradient(ellipse at 39% 51%,#820403 0 29%,#570000 48%,transparent 51%),
    radial-gradient(ellipse at 59% 46%,#a30a07 0 21%,#620000 38%,transparent 42%),
    radial-gradient(ellipse at 26% 63%,#5a0000 0 16%,transparent 18%),
    linear-gradient(147deg,#390000 0%,#940807 47%,#4b0000 100%) !important;
}
.ec-halloween-splat::after{
  left:41% !important;
  top:57% !important;
  width:13px !important;
  height:170px !important;
  transform:rotate(4deg) !important;
  background:linear-gradient(90deg,#260000,#880605 45%,#3c0000) !important;
  box-shadow:-73px -19px 0 -4px #580000,88px 15px 0 -5px #780000,123px -37px 0 -7px #3f0000,-112px 41px 0 -6px #850604 !important;
}

/* Bloody scratch groups. */
.ec-halloween-scratch{
  --scratch-rot:-12deg;
  position:absolute;
  left:var(--sx);
  top:var(--sy);
  width:150px;
  height:180px;
  opacity:0;
  transform:rotate(var(--scratch-rot));
  animation:ecScratchShow var(--sd,19s) ease-in-out var(--delay,0s) infinite;
}
.ec-halloween-scratch i{
  position:absolute;
  top:0;
  width:9px;
  height:145px;
  border-radius:60% 40% 70% 30% / 4% 4% 96% 96%;
  background:linear-gradient(90deg,#1f0000,#6f0101 35%,#a20b08 55%,#3c0000 100%);
  box-shadow:0 0 4px rgba(68,0,0,.7),inset 1px 0 rgba(255,91,75,.12);
  clip-path:polygon(43% 0,76% 8%,61% 20%,88% 28%,52% 38%,73% 48%,49% 58%,66% 72%,35% 84%,55% 100%,17% 94%,31% 80%,11% 67%,31% 52%,8% 42%,37% 29%,18% 17%);
}
.ec-halloween-scratch i:nth-child(1){left:13px;height:158px;transform:rotate(2deg)}
.ec-halloween-scratch i:nth-child(2){left:49px;height:174px;transform:rotate(-3deg)}
.ec-halloween-scratch i:nth-child(3){left:86px;height:151px;transform:rotate(5deg)}
.ec-halloween-scratch i:nth-child(4){left:120px;height:136px;transform:rotate(9deg)}

/* Bloody handprint assembled from CSS, not an image asset. */
.ec-halloween-handprint{
  position:absolute;
  left:var(--hx);
  top:var(--hy);
  width:180px;
  height:220px;
  opacity:0;
  transform:translate(-50%,-50%) rotate(var(--hr,-12deg)) scale(var(--hs,1));
  animation:ecHandShow var(--hd,27s) ease-in-out var(--delay,0s) infinite;
  filter:drop-shadow(0 4px 5px rgba(20,0,0,.45));
}
.ec-halloween-handprint .palm{
  position:absolute;left:49px;top:82px;width:91px;height:92px;
  border-radius:45% 55% 52% 48% / 38% 35% 65% 62%;
  background:radial-gradient(ellipse at 43% 42%,rgba(150,8,7,.96),rgba(82,0,0,.96) 65%,rgba(43,0,0,.92));
  transform:rotate(-7deg);
}
.ec-halloween-handprint .finger{
  position:absolute;top:17px;width:25px;border-radius:60% 40% 48% 52% / 52% 48% 18% 22%;
  background:linear-gradient(90deg,rgba(56,0,0,.97),rgba(145,7,6,.96) 50%,rgba(66,0,0,.96));
  transform-origin:50% 100%;
}
.ec-halloween-handprint .f1{left:39px;height:91px;transform:rotate(-21deg)}
.ec-halloween-handprint .f2{left:67px;height:109px;top:2px;transform:rotate(-8deg)}
.ec-halloween-handprint .f3{left:96px;height:113px;top:0;transform:rotate(4deg)}
.ec-halloween-handprint .f4{left:125px;height:94px;top:14px;transform:rotate(18deg)}
.ec-halloween-handprint .thumb{left:25px;height:72px;top:96px;transform:rotate(-57deg)}
.ec-halloween-handprint::after{
  content:'';position:absolute;left:71px;top:161px;width:39px;height:62px;
  background:linear-gradient(90deg,#350000,#810403,#3d0000);clip-path:polygon(12% 0,89% 0,66% 100%,37% 83%);opacity:.8;
}

@keyframes ecScratchShow{0%,68%,100%{opacity:0}72%{opacity:.18}76%,88%{opacity:.72}94%{opacity:.14}}
@keyframes ecHandShow{0%,76%,100%{opacity:0}79%{opacity:.10}82%,91%{opacity:.72}96%{opacity:.12}}

@media(max-width:760px){
  body.ec-halloween-active .main-nav a[href="/admin/"]{padding:.45rem .62rem !important;box-shadow:0 0 16px rgba(255,170,0,.68) !important}
  .ec-halloween-handprint{--hs:.72}
  .ec-halloween-scratch{transform:scale(.75) rotate(var(--scratch-rot));transform-origin:top left}
}


/* ===== Halloween V92: organischer Blut-Layer als SVG-Code, keine symmetrischen CSS-Kleckse ===== */
.ec-blood-top{
  position:absolute;left:0;top:0;width:100vw;height:220px;z-index:7;overflow:visible;
  pointer-events:none;filter:drop-shadow(0 7px 8px rgba(25,0,0,.48));opacity:.98;
}
.ec-blood-edge-path{filter:url(#ecBloodRough)}
.ec-blood-drip-svg{transform-origin:top center;animation:ecBloodDripBreath 8.5s ease-in-out var(--delay,0s) infinite}
@keyframes ecBloodDripBreath{0%,100%{transform:scaleY(.93)}43%{transform:scaleY(1.06)}68%{transform:scaleY(.98)}}

.ec-blood-art{
  position:absolute;width:280px;height:280px;z-index:6;opacity:0;overflow:visible;
  transform:translate(-50%,-50%) rotate(var(--rot,0deg)) scale(var(--scale,1));
  transform-origin:center;pointer-events:none;filter:drop-shadow(0 5px 6px rgba(25,0,0,.5));
  animation:ecBloodArtAppear 33s ease-in-out var(--delay,0s) infinite;
}
.ec-blood-hand-svg{width:250px;height:290px;animation-duration:39s}
.ec-blood-scratch-svg{width:190px;height:260px;animation-duration:29s}
@keyframes ecBloodArtAppear{
  0%,68%,100%{opacity:0}
  72%{opacity:.10}
  76%,89%{opacity:.88}
  94%{opacity:.22}
}
.ec-blood-scratch-svg{animation-name:ecBloodScratchAppear}
@keyframes ecBloodScratchAppear{0%,61%,100%{opacity:0}65%{opacity:.08}70%,86%{opacity:.78}92%{opacity:.14}}

.ec-blood-fall-drop{
  position:absolute;left:var(--x);top:-34px;width:var(--size,7px);height:calc(var(--size,7px) * 2.1);
  z-index:8;border-radius:48% 52% 62% 38% / 38% 44% 56% 62%;opacity:0;
  background:radial-gradient(circle at 34% 24%,#ad1611 0 8%,#6e0202 38%,#2d0000 82%);
  box-shadow:0 2px 4px rgba(25,0,0,.5);animation:ecBloodFall var(--dur,6s) cubic-bezier(.38,.02,.63,.98) var(--delay,0s) infinite;
}
@keyframes ecBloodFall{0%,16%{opacity:0;transform:translateY(-8vh) scale(.72)}22%{opacity:.92}76%{opacity:.84}100%{opacity:0;transform:translateY(112vh) scale(1.08)}}

/* alte V90/V91 Blutformen werden nicht mehr erzeugt; falls Browser-Reste vorhanden sind, ausblenden */
.ec-halloween-blood-edge,.ec-halloween-splat,.ec-halloween-drop,.ec-halloween-scratch,.ec-halloween-handprint{display:none!important}

@media(max-width:760px){
  .ec-blood-top{height:155px}
  .ec-blood-art{width:205px;height:205px}
  .ec-blood-hand-svg{width:190px;height:220px}
  .ec-blood-scratch-svg{width:145px;height:205px}
}
@media(prefers-reduced-motion:reduce){
  .ec-blood-drip-svg,.ec-blood-art,.ec-blood-fall-drop{animation:none!important}
  .ec-blood-art,.ec-blood-fall-drop{display:none!important}
}

/* ===== V93: blood uses the user's supplied artwork directly ===== */
.ec-blood-top,.ec-blood-art,.ec-halloween-blood-edge,.ec-halloween-drip,.ec-halloween-splat,.ec-halloween-drop{
  display:none !important;
}
.ec-blood-photo{
  position:absolute;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transform-origin:center;
  will-change:transform,opacity;
  z-index:2;
}
.ec-blood-photo-drip{
  left:var(--x); top:var(--y);
  width:var(--w); height:var(--h);
  background-image:url('../img/halloween/blood-drip.png');
  opacity:var(--op,.92);
  transform:rotate(var(--rot,0deg));
  filter:saturate(1.26) brightness(.74) contrast(1.15) drop-shadow(0 6px 7px rgba(28,0,0,.42));
  animation:ecPhotoDrip 10s ease-in-out var(--delay,0s) infinite alternate;
}
.ec-blood-photo-hand{
  left:var(--x); top:var(--y);
  width:var(--size); height:var(--size);
  background-image:url('../img/halloween/blood-handprint.png');
  opacity:0;
  transform:rotate(var(--rot,0deg));
  filter:saturate(1.35) brightness(.68) contrast(1.2) drop-shadow(0 4px 5px rgba(30,0,0,.42));
  animation:ecPhotoBloodAppear 23s ease-in-out var(--delay,0s) infinite;
}
.ec-blood-photo-scratch{
  left:var(--x); top:var(--y);
  width:var(--size); height:calc(var(--size) * 1.28);
  background-image:url('../img/halloween/blood-handprint.png');
  background-size:185% auto;
  background-position:14% 88%;
  opacity:0;
  transform:rotate(var(--rot,0deg));
  filter:saturate(1.4) brightness(.58) contrast(1.28) drop-shadow(0 4px 5px rgba(28,0,0,.48));
  clip-path:polygon(0 48%,58% 38%,100% 47%,100% 100%,0 100%);
  animation:ecPhotoBloodAppear 28s ease-in-out var(--delay,0s) infinite;
}
.ec-blood-photo-big{
  left:50%; top:45%;
  width:min(46vw,590px); height:min(53vw,670px);
  background-image:url('../img/halloween/blood-handprint.png');
  opacity:0;
  transform:translate(-50%,-50%) rotate(-5deg) scale(.82);
  filter:saturate(1.45) brightness(.62) contrast(1.25) drop-shadow(0 8px 12px rgba(25,0,0,.55));
  animation:ecBigBloodPhoto 39s ease-in-out -17s infinite;
}
.ec-blood-fall-drop{
  position:absolute;
  left:var(--x); top:-26px;
  width:var(--size,7px); height:calc(var(--size,7px) * 2.1);
  border-radius:55% 45% 65% 35% / 38% 38% 62% 62%;
  background:linear-gradient(90deg,#2b0000,#7b0505 40%,#370000 100%);
  box-shadow:inset 1px 0 2px rgba(255,96,80,.2),0 3px 5px rgba(20,0,0,.35);
  opacity:0;
  animation:ecPhotoDropFall var(--dur,6s) cubic-bezier(.35,.02,.75,.4) var(--delay,0s) infinite;
}
@keyframes ecPhotoDrip{
  0%{transform:rotate(var(--rot,0deg)) translateY(-3px) scaleY(.97)}
  55%{transform:rotate(var(--rot,0deg)) translateY(2px) scaleY(1.035)}
  100%{transform:rotate(var(--rot,0deg)) translateY(5px) scaleY(1.07)}
}
@keyframes ecPhotoBloodAppear{
  0%,63%,100%{opacity:0}
  67%{opacity:.08}
  70%,86%{opacity:var(--op,.78)}
  92%{opacity:.18}
}
@keyframes ecBigBloodPhoto{
  0%,76%,100%{opacity:0;transform:translate(-50%,-50%) rotate(-5deg) scale(.78)}
  79%{opacity:.12}
  82%{opacity:.92;transform:translate(-50%,-50%) rotate(-5deg) scale(1.02)}
  89%{opacity:.86;transform:translate(-50%,-50%) rotate(-5deg) scale(1)}
  95%{opacity:.10}
}
@keyframes ecPhotoDropFall{
  0%,12%{opacity:0;transform:translateY(-12vh) scale(.74)}
  18%{opacity:.90}
  75%{opacity:.82}
  100%{opacity:0;transform:translateY(112vh) scale(1.1)}
}
@media(max-width:760px){
  .ec-blood-photo-drip{width:46vw;height:145px;opacity:.82}
  .ec-blood-photo-hand{--size:190px!important;opacity:.68}
  .ec-blood-photo-scratch{--size:150px!important}
  .ec-blood-photo-big{width:82vw;height:95vw}
}

/* V114 strict Halloween palette: Schwarz / Orange / Gelb */
body.ec-halloween-active{--ec-theme-bg:#010101;--ec-theme-a:#ff8a00;--ec-theme-b:#ffd400;--ec-theme-text:#ffe79a!important;color:var(--ec-theme-text)!important}
body.ec-halloween-active :is(.glass-card,.ecms-card,.card,.panel,.button,.main-nav a,input,textarea,select){border-color:var(--ec-theme-a)!important}
body.ec-halloween-active :is(.button,.main-nav a,.eyebrow,h1,h2,h3,.section-title,.card-title){color:var(--ec-theme-b)!important;text-shadow:0 0 9px rgba(255,138,0,.55)!important}

/* V115: große, gut lesbare Event-Überschrift */
.ec-halloween-title{position:fixed;top:78px;left:50%;transform:translateX(-50%);z-index:9200;pointer-events:none;width:min(94vw,1200px);text-align:center;font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:clamp(38px,5.2vw,78px);font-weight:700;line-height:1.08;letter-spacing:.055em;color:#ffd400;text-shadow:0 2px 0 #5b2500,0 0 10px #ff8a00,0 0 24px rgba(255,138,0,.72),0 0 42px rgba(255,212,0,.28)}
@media(max-width:760px){.ec-halloween-title{top:62px;font-size:clamp(30px,9vw,48px);letter-spacing:.035em;width:92vw}}
