/**
 * Black November – nur body.season-black-november.
 * Header, Nav und Site-Footer bleiben beim Season-Standard.
 */

body.season-black-november{
  background:#0b100e;
  overflow-x:clip;
}

body.season-black-november .bn-page{
  position:relative;
  background:
    radial-gradient(ellipse 80% 50% at 80% -10%,rgba(185,141,62,.16),transparent 52%),
    radial-gradient(ellipse 60% 40% at 8% 18%,rgba(164,85,47,.12),transparent 46%),
    #0b100e;
  color:#f2ecdf;
  overflow-x:clip;
  padding:0 0 8px;
}

body.season-black-november .bn-wrap{
  position:relative;
  z-index:1;
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
}

body.season-black-november .bn-marks{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}

body.season-black-november .bn-mark{
  position:absolute;
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  pointer-events:none;
}

body.season-black-november .bn-mark--bats,
body.season-black-november .bn-mark--bat-a,
body.season-black-november .bn-mark--bat-b,
body.season-black-november .bn-mark--bat-c{
  filter:invert(86%) sepia(28%) saturate(420%) hue-rotate(2deg) brightness(1.05);
}

body.season-black-november .bn-mark--bats{
  top:28px;
  right:max(12px,calc(50% - 560px));
  width:260px;
  height:88px;
  background-image:url("img/halloween/bats.svg");
  opacity:.72;
  animation:season-bn-drift 14s ease-in-out infinite;
}

body.season-black-november .bn-mark--bat-a{
  top:210px;
  left:max(18px,calc(50% - 580px));
  width:42px;
  height:18px;
  background-image:url("img/halloween/bat.svg");
  opacity:.58;
  animation:season-bn-drift-alt 16s ease-in-out infinite;
}

body.season-black-november .bn-mark--bat-b{
  top:72px;
  left:42%;
  width:28px;
  height:12px;
  background-image:url("img/halloween/bat.svg");
  opacity:.42;
  transform:rotate(-12deg);
  animation:season-bn-drift 18s ease-in-out infinite;
}

body.season-black-november .bn-mark--bat-c{
  bottom:18%;
  right:12%;
  width:36px;
  height:15px;
  background-image:url("img/halloween/bat.svg");
  opacity:.5;
  animation:season-bn-drift-alt 13s ease-in-out infinite;
}

body.season-black-november .bn-mark--maple{
  bottom:12%;
  left:max(10px,calc(50% - 590px));
  width:56px;
  height:64px;
  background-image:url("img/halloween/leaf-maple.svg");
  transform:rotate(-18deg);
  opacity:.88;
  filter:drop-shadow(0 6px 12px rgba(164,85,47,.18));
}

body.season-black-november .bn-mark--oak{
  top:58%;
  right:max(8px,calc(50% - 600px));
  width:34px;
  height:56px;
  background-image:url("img/halloween/leaf-oak.svg");
  transform:rotate(16deg);
  opacity:.85;
}

body.season-black-november .bn-mark--olive{
  top:38%;
  left:8%;
  width:26px;
  height:46px;
  background-image:url("img/halloween/leaf-olive.svg");
  transform:rotate(-22deg);
  opacity:.7;
}

body.season-black-november .bn-mark--web{
  top:0;
  right:0;
  width:180px;
  height:180px;
  background-image:url("img/halloween/web-corner.svg");
  transform:scaleX(-1);
  opacity:.28;
}

body.season-black-november .bn-hero{
  position:relative;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  min-height:min(68vh,600px);
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(0,.92fr);
  align-items:stretch;
}

body.season-black-november .bn-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  min-height:inherit;
  display:flex;
  align-items:center;
}

body.season-black-november .bn-hero-copy{
  width:100%;
  padding:72px 8px 56px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body.season-black-november .bn-hero-visual{
  position:relative;
  z-index:1;
  width:auto;
  min-height:inherit;
  margin:0 0 0 -12%;
  overflow:visible;
  border-radius:0;
  background:transparent;
}

body.season-black-november .bn-hero-visual,
body.season-black-november .bn-hero-visual img,
body.season-black-november .bn-hero-img{
  border-radius:0;
}

body.season-black-november .bn-hero-img,
body.season-black-november .bn-hero-visual img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  /* Jedes Motiv löst sich ins Seiten-Schwarz auf – nicht ins Foto gebrannt. */
  -webkit-mask-image:radial-gradient(ellipse 92% 88% at 70% 50%,#000 34%,transparent 76%);
  mask-image:radial-gradient(ellipse 92% 88% at 70% 50%,#000 34%,transparent 76%);
}

body.season-black-november .bn-hero-visual::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,#0b100e 0%,rgba(11,16,14,.82) 14%,rgba(11,16,14,.28) 32%,transparent 48%),
    linear-gradient(180deg,rgba(11,16,14,.42) 0%,transparent 18%),
    linear-gradient(0deg,rgba(11,16,14,.5) 0%,transparent 20%),
    linear-gradient(270deg,rgba(11,16,14,.35) 0%,transparent 16%);
}

body.season-black-november .bn-hero-visual--fallback::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(11,16,14,.22),rgba(11,16,14,.48));
  pointer-events:none;
}

body.season-black-november .bn-kicker{
  font:700 .72rem 'Inter',sans-serif;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#e9c882;
  margin:0 0 18px;
}

body.season-black-november .bn-hero h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2.15rem,4.8vw,4.35rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.02em;
  color:#f7f1e6;
  margin:0 0 22px;
  max-width:22ch;
}

body.season-black-november .bn-hero h1 .bn-nowrap{
  white-space:nowrap;
}

body.season-black-november .bn-hero h1 em{
  font-style:italic;
  color:#e9c882;
}

body.season-black-november .bn-intro{
  max-width:42ch;
  font-size:1.08rem;
  line-height:1.65;
  color:#d8d1c4;
  margin:0 0 28px;
}

body.season-black-november .bn-hero-cta{
  margin:0;
}

body.season-black-november .bn-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 24px;
  border-radius:99px;
  background:#a4552f;
  color:#fff;
  font:600 .95rem 'Inter',sans-serif;
  border:1px solid transparent;
  transition:background .2s,transform .2s,box-shadow .2s;
}

body.season-black-november .bn-btn:hover{
  background:#8d4626;
  color:#fff;
  box-shadow:0 8px 20px rgba(164,85,47,.28);
}

body.season-black-november .bn-btn.added{
  background:#b98d3e;
}

body.season-black-november .bn-link{
  color:#e9c882;
  font-weight:600;
  border-bottom:1px solid rgba(233,200,130,.45);
  padding-bottom:2px;
}

body.season-black-november .bn-link:hover{
  color:#f4d9a0;
  border-color:#f4d9a0;
}

body.season-black-november .bn-ticker{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1200px;
  margin:8px auto 0;
  background:#e9c882;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 72px,#000 calc(100% - 72px),transparent);
  mask-image:linear-gradient(90deg,transparent 0,#000 72px,#000 calc(100% - 72px),transparent);
}

body.season-black-november .bn-ticker__viewport{
  display:flex;
  overflow:hidden;
  width:100%;
}

body.season-black-november .bn-ticker__track{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  animation:season-bn-ticker 46s linear infinite;
}

body.season-black-november .bn-ticker:hover .bn-ticker__track{
  animation-play-state:paused;
}

body.season-black-november .bn-ticker__item{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  padding:13px 2.6rem 13px 0;
  color:#0b100e;
  font:500 .92rem/1.25 'Inter',sans-serif;
  letter-spacing:.035em;
  white-space:nowrap;
}

body.season-black-november .bn-ticker__dot{
  display:inline-block;
  width:5px;
  height:5px;
  margin-right:1.15em;
  background:#0b100e;
  transform:rotate(45deg);
  opacity:.45;
}

body.season-black-november .bn-pieces{
  position:relative;
  padding:28px 0 48px;
}

body.season-black-november .bn-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

body.season-black-november .bn-card{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  background:#141a16;
  border:1px solid rgba(233,200,130,.18);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}

body.season-black-november .bn-card-media{
  position:relative;
  display:block;
  aspect-ratio:1;
  background:#101612;
  overflow:hidden;
}

body.season-black-november .bn-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

body.season-black-november .bn-ph{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e9c882;
}

body.season-black-november .bn-ph svg{
  width:48px;
  height:48px;
  fill:currentColor;
}

body.season-black-november .bn-card-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:22px 22px 24px;
  flex:1;
}

body.season-black-november .bn-card-body h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.35rem,2vw,1.75rem);
  font-weight:500;
  line-height:1.15;
  margin:0;
}

body.season-black-november .bn-card-body h2 a:hover{
  color:#e9c882;
}

body.season-black-november .bn-reason{
  margin:0;
  color:#c9c2b4;
  font-size:.95rem;
  line-height:1.5;
  max-width:42ch;
}

body.season-black-november .bn-price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 10px;
  margin-top:4px;
}

body.season-black-november .bn-price del{
  color:#8d887e;
  font-size:.95rem;
  text-decoration:line-through;
}

body.season-black-november .bn-price ins{
  text-decoration:none;
  color:#e9c882;
  font-weight:700;
  font-size:1.35rem;
}

body.season-black-november .bn-price-note{
  width:100%;
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#b98d3e;
  font-weight:700;
}

body.season-black-november .bn-card-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 18px;
  margin-top:auto;
  padding-top:8px;
}

body.season-black-november .bn-card--empty{
  min-height:280px;
  border-style:dashed;
  background:transparent;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 22px;
}

body.season-black-november .bn-card--empty p{
  margin:0;
  color:#b9b3a6;
  font-size:.92rem;
  text-align:center;
  line-height:1.5;
}

body.season-black-november .bn-card--empty a{
  color:#e9c882;
}

body.season-black-november .bn-empty{
  max-width:46ch;
  padding:28px 0 12px;
}

body.season-black-november .bn-empty p{
  margin:0 0 16px;
  color:#d8d1c4;
  font-size:1.05rem;
  line-height:1.6;
}

body.season-black-november .bn-empty-admin{
  padding:14px 16px;
  border:1px dashed rgba(233,200,130,.35);
  border-radius:12px;
  background:rgba(233,200,130,.06);
  color:#f2ecdf !important;
  font-size:.92rem !important;
}

body.season-black-november .bn-close{
  position:relative;
  z-index:1;
  padding:8px 0 64px;
  text-align:center;
  color:#b9b3a6;
  font-size:.92rem;
}

body.season-black-november .bn-close p{margin:0 0 10px}

@keyframes season-bn-ticker{
  to{transform:translate3d(-100%,0,0)}
}

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

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

@media(max-width:960px){
  body.season-black-november .bn-grid{grid-template-columns:1fr}
  body.season-black-november .bn-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    max-width:none;
    padding:0;
    grid-template-columns:none;
  }
  body.season-black-november .bn-hero-inner{width:100%;min-height:0}
  body.season-black-november .bn-hero-visual{
    position:relative;
    inset:auto;
    width:100%;
    min-height:280px;
    margin:0;
    order:-1;
  }
  body.season-black-november .bn-hero-img,
  body.season-black-november .bn-hero-visual img{
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 58%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 58%,transparent 100%);
  }
  body.season-black-november .bn-hero-visual::before{
    background:linear-gradient(180deg,rgba(11,16,14,.28) 0%,transparent 18%,transparent 48%,#0b100e 100%);
  }
  body.season-black-november .bn-hero-copy{padding:28px 24px 20px}
  body.season-black-november .bn-ticker__item{font-size:15px;letter-spacing:.02em;padding:13px 2.2rem 13px 0}
  body.season-black-november .bn-ticker{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent);
    mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000 calc(100% - 36px),transparent);
  }
  body.season-black-november .bn-hero h1{
    font-size:clamp(2.05rem,7.2vw,3.2rem);
    max-width:none;
  }
  body.season-black-november .bn-mark--bats{width:168px;height:56px;top:16px}
  body.season-black-november .bn-mark--web{width:110px;height:110px}
  body.season-black-november .bn-mark--bat-b,
  body.season-black-november .bn-mark--olive,
  body.season-black-november .bn-mark--oak{display:none}
}

@media(max-width:560px){
  body.season-black-november .bn-wrap{padding:0 16px}
  body.season-black-november .bn-hero-copy{padding:28px 16px 12px}
  body.season-black-november .bn-hero h1{font-size:clamp(1.85rem,8vw,2.45rem)}
  body.season-black-november .bn-hero-visual{min-height:240px}
  body.season-black-november .bn-card-body{padding:18px 16px 20px}
  body.season-black-november .bn-mark--maple{width:40px;height:46px}
  body.season-black-november .bn-mark--bat-c{display:none}
}

@media(prefers-reduced-motion:reduce){
  body.season-black-november .bn-mark--bats,
  body.season-black-november .bn-mark--bat-a,
  body.season-black-november .bn-mark--bat-b,
  body.season-black-november .bn-mark--bat-c,
  body.season-black-november .bn-ticker__track{
    animation:none;
  }
  body.season-black-november .bn-ticker__track + .bn-ticker__track{display:none}
  body.season-black-november .bn-ticker__viewport{justify-content:center}
  body.season-black-november .bn-ticker__item + .bn-ticker__item{display:none}
  body.season-black-november .bn-ticker__item{padding-left:1.2rem;padding-right:1.2rem;white-space:normal;text-align:center}
}
