/* ===== Base Footer ===== */
.bottom-footer {
  background: #000;
  color: #f2f2f2;
  border-top: 1px solid rgba(255,255,255,.08);
  position: relative;
  isolation: isolate;
}
.bottom-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 20px 44px;
  text-align: center;
  position: relative;
  border-radius: 10px; /* CRT curve */
  overflow: clip;
}

/* Booking */
.booking h3 {
  margin: 0 0 18px;
  font-size: 1.15rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #d84431;
}
.booking-grid {
  display: grid;
  gap: 18px 40px;
  justify-items: center;
  margin-bottom: 26px;
}
@media (min-width: 720px) {
  .booking-grid { grid-template-columns: repeat(2, minmax(240px, 1fr)); }
}
.booking-col h4 {
  margin: 0 0 6px;
  font-size: .95rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #d8d8d8;
}
.booking-col p { margin: 0 0 4px; color: #a9a9a9; }
.booking-col a {
  color: #f2f2f2;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, opacity .2s ease;
}
.booking-col a:hover { border-bottom-color: currentColor; opacity: .85; }

/* Footer links */
.footer-links {
  margin: 22px 0 14px;
  display: flex;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
}
.footer-links a {
  font-weight: 600;
  letter-spacing: .12em;
  color: #f2f2f2;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity .25s ease, transform .1s ease;
}
.footer-links a:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}

/* Socials */
.footer-socials {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 14px 0 28px;
}
.footer-socials a {
  color: #f2f2f2;
  font-size: 1.4rem;
  transition: opacity .25s ease, transform .08s ease;
}
.footer-socials a:hover {
  opacity: 0.7;
  transform: translateY(-1px);
  text-shadow: 0 0 6px rgba(255,255,255,.35), 0 0 12px rgba(255,255,255,.25);
}

/* Partners */
.partners { margin: 20px 0; }
.partners-label {
  display: block;
  font-size: .86rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 10px;
}
.partners-logos {
  display: flex;
  justify-content: center;
  gap: 36px;
  flex-wrap: wrap;
}
.partners-logos img {
  max-height: 55px;
  opacity: 1;
  filter: none;
  transition: opacity .25s ease;
}
.partners-logos img:hover { opacity: .8; }

/* Copyright */
.copyright {
  margin-top: 20px;
  font-size: .86rem;
  color: #777;
}

/* ===== TV / CRT Effects ===== */

/* Scanline bar above footer */
.bottom-footer::before {
  content: "";
  position: absolute; left: 0; right: 0; top: -10px; height: 10px;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.15) 0px,
    rgba(255,255,255,.15) 1px,
    rgba(255,255,255,0) 2px
  );
  mix-blend-mode: screen;
  opacity: .35;
  animation: tv-scan 3.5s linear infinite;
}
@keyframes tv-scan {
  0%   { transform: translateY(-6px); opacity:.22; }
  50%  { transform: translateY(0);    opacity:.38; }
  100% { transform: translateY(-6px); opacity:.22; }
}

/* CRT glow + vignette */
.bottom-inner::before {
  content: "";
  position: absolute; inset:-2px;
  background:
    radial-gradient(120% 90% at 50% 10%, rgba(255,255,255,.07), transparent 45%),
    radial-gradient(140% 100% at 50% 100%, rgba(255,255,255,.045), transparent 55%),
    radial-gradient(140% 120% at 50% 50%, rgba(0,0,0,.35), transparent 60%);
  pointer-events: none;
}
.bottom-inner::after {
  content: "";
  position: absolute; inset:0;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,.012) 0px,
    rgba(255,255,255,.012) 1px,
    rgba(0,0,0,0)          2px
  );
  mix-blend-mode: screen;
  opacity:.25;
  animation: crt-flicker 4s ease-in-out infinite;
}
@keyframes crt-flicker {
  0%,100% { opacity:.22 }
  50%     { opacity:.28 }
}
/* ===========================
   Link chips with icons (visual row)
   =========================== */
.footer-links-static{
  margin: 22px 0 30px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 34px !important;
  flex-wrap: wrap !important;
}

.footer-links-static .link-chip{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .92rem;
  color: #f2f2f2;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 2px 10px rgba(0,0,0,.35);
}

.footer-links-static .chip-ico{
  display: block;
  opacity:.95;
}

/* ===========================
   CRT Effect Boost (more visible on dark)
   =========================== */

/* Scanline bar above footer: thicker + brighter + slight red tint */
.bottom-footer::before{
  height: 14px !important;
  top: -14px !important;
  opacity: .55 !important;
  background:
    linear-gradient(0deg, rgba(216,68,49,.28), rgba(216,68,49,0) 70%),
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.22) 0px,
      rgba(255,255,255,.22) 1px,
      rgba(255,255,255,0)   2px
    ) !important;
}

/* Stronger vignette & screen glow */
.bottom-inner::before{
  background:
    radial-gradient(115% 85% at 50% 8%,  rgba(255,255,255,.10), transparent 44%),
    radial-gradient(140% 105% at 50% 100%, rgba(255,255,255,.07), transparent 58%),
    radial-gradient(140% 120% at 50% 50%, rgba(0,0,0,.55), transparent 62%) !important;
}

/* Brighter scanline texture/flicker */
.bottom-inner::after{
  opacity: .38 !important;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.02) 0px,
      rgba(255,255,255,.02) 1px,
      rgba(0,0,0,0)         2px
    ) !important;
}

/* Optional: very subtle film grain for extra bite (no image needed) */
.crt-footer{
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,.04) 0, transparent 1px),
    radial-gradient(1px 1px at 30% 80%, rgba(255,255,255,.035) 0, transparent 1px),
    radial-gradient(1px 1px at 70% 30%, rgba(255,255,255,.035) 0, transparent 1px),
    radial-gradient(1px 1px at 85% 60%, rgba(255,255,255,.035) 0, transparent 1px);
  background-size: 140px 140px;
}

/* Keep partner logos punchy */
.partners-logos img{
  opacity: 1 !important;
  filter: none !important;
}

/* Slightly tighten spacing below chips to pull logos up */
.partners{ margin: 14px 0 !important; }
/* ===== Scanline Fade Override ===== */
.bottom-footer::before {
  top: 6px !important;          /* sits inside footer */
  height: 14px !important;
  opacity: .55 !important;
  background:
    linear-gradient(
      to bottom,
      rgba(216,68,49,.35) 0%,       /* red tint at top */
      rgba(255,255,255,.25) 35%,    /* bright center */
      rgba(255,255,255,0) 100%      /* fade to nothing */
    ),
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.22) 0px,
      rgba(255,255,255,.22) 1px,
      rgba(255,255,255,0)   2px
    ) !important;
  border-radius: 100% / 50%;    /* softens top & bottom edges */
}
/* ===== Scanline Above Footer with Glow Stretch ===== */
.bottom-footer::before {
  top: -18px !important;          /* sits just above footer */
  height: 20px !important;        /* a bit taller to allow glow */
  opacity: .6 !important;
  background:
    linear-gradient(
      to bottom,
      rgba(216,68,49,.4) 0%,        /* red tint top edge */
      rgba(255,255,255,.28) 40%,    /* bright core */
      rgba(255,255,255,0) 100%      /* fade to nothing */
    ),
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.25) 0px,
      rgba(255,255,255,.25) 1px,
      rgba(255,255,255,0)   2px
    ) !important;
  border-radius: 100% / 50%;
  filter: blur(2px) saturate(120%);   /* glow + slight color pop */
  transform: scaleX(1.1);             /* stretch horizontally */
  pointer-events: none;
}
/* ===== Scanline Glow Pulse (accessibility aware) ===== */
@media (prefers-reduced-motion: no-preference) {
  .bottom-footer::before {
    animation: scan-pulse 7.5s ease-in-out infinite !important;
  }

  @keyframes scan-pulse {
    0%   { opacity: .50; filter: blur(2px) saturate(115%) brightness(100%); transform: scaleX(1.08); }
    35%  { opacity: .72; filter: blur(2.6px) saturate(130%) brightness(116%); transform: scaleX(1.12); }
    65%  { opacity: .60; filter: blur(2.2px) saturate(120%) brightness(105%); transform: scaleX(1.10); }
    100% { opacity: .50; filter: blur(2px) saturate(115%) brightness(100%); transform: scaleX(1.08); }
  }
}
/* ===== Boosted Scanline Glow Pulse ===== */
@media (prefers-reduced-motion: no-preference) {
  .bottom-footer::before {
    top: -22px !important;
    height: 26px !important;
    opacity: .75 !important;
    background:
      linear-gradient(
        to bottom,
        rgba(216,68,49,.55) 0%,        /* strong red edge */
        rgba(255,255,255,.40) 40%,     /* bright white core */
        rgba(255,255,255,0) 100%       /* fade out */
      ),
      repeating-linear-gradient(
        to bottom,
        rgba(255,255,255,.32) 0px,
        rgba(255,255,255,.32) 1px,
        rgba(255,255,255,0)   2px
      ) !important;
    border-radius: 100% / 50%;
    filter: blur(3.5px) saturate(150%) brightness(120%);
    transform: scaleX(1.2);
    animation: scan-pulse-boost 6s ease-in-out infinite !important;
  }

  @keyframes scan-pulse-boost {
    0%   { opacity:.65; filter: blur(3px)   saturate(130%) brightness(105%) scaleX(1.15); }
    40%  { opacity:.90; filter: blur(4px)   saturate(160%) brightness(130%) scaleX(1.25); }
    70%  { opacity:.75; filter: blur(3.5px) saturate(145%) brightness(115%) scaleX(1.2); }
    100% { opacity:.65; filter: blur(3px)   saturate(130%) brightness(105%) scaleX(1.15); }
  }
}
/* =========================================================
   RGB Split Scanline — sits above footer, blends + pulses
   (keeps your existing glow; adds chromatic drift on top)
   ========================================================= */
@media (prefers-reduced-motion: no-preference) {
  /* Leave your current .bottom-footer::before glow as-is.
     This new ::after layers the RGB split above it. */
  .bottom-footer::after{
    content:"";
    position:absolute;
    left:-4%; right:-4%;
    top:-24px;              /* above the footer */
    height:26px;
    pointer-events:none;
    opacity:.68;
    background:
      /* horizontal RGB sweep */
      linear-gradient(90deg,
        rgba(255, 60, 80, .22) 0%,
        rgba(  0,255,200,.18) 45%,
        rgba( 80,120,255,.22) 100%
      ),
      /* fine scanline texture */
      repeating-linear-gradient(
        to bottom,
        rgba(255,255,255,.30) 0px,
        rgba(255,255,255,.30) 1px,
        rgba(255,255,255,0)   2px
      );
    mix-blend-mode: screen;
    filter: blur(3.5px) saturate(150%) brightness(115%);
    transform: scaleX(1.18);
    animation: rgb-drift 5.2s ease-in-out infinite;
  }

  @keyframes rgb-drift {
    0%   { transform: translateX(-2px) scaleX(1.16); opacity:.62; }
    40%  { transform: translateX( 2px) scaleX(1.20); opacity:.80; }
    70%  { transform: translateX( 0px) scaleX(1.18); opacity:.70; }
    100% { transform: translateX(-2px) scaleX(1.16); opacity:.62; }
  }
}

/* =========================================================
   Readability tweaks over dark BG (very subtle)
   ========================================================= */
.booking h3 { text-shadow: 0 0 12px rgba(216,68,49,.25); }
.booking-col p,
.booking-col a,
.booking-col h4 {
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}

/* Pull link chips a hair closer to logos for balance */
.partners { margin: 16px 0 !important; }
/* =========================================================
   MONO-RED VHS Double-Stutter CRT Seam
   (glitches every 3s, stutters twice, boosted)
   ========================================================= */

/* Kill any old RGB ::after layer */
.bottom-footer::after { display:none !important; }

@media (prefers-reduced-motion: no-preference) {
  .bottom-footer::before {
    content:"";
    position:absolute;
    left:-5%; right:-5%;
    top:-22px;
    height:26px;
    pointer-events:none;
    background:
      linear-gradient(
        to bottom,
        rgba(216,68,49,.55) 0%,
        rgba(255,255,255,.35) 45%,
        rgba(255,255,255,0)   100%
      ),
      repeating-linear-gradient(
        to bottom,
        rgba(255,255,255,.28) 0px,
        rgba(255,255,255,.28) 1px,
        rgba(255,255,255,0)   2px
      );
    mix-blend-mode: screen;
    border-radius: 100% / 50%;
    filter: blur(3px) saturate(140%) brightness(115%);
    transform: scaleX(1.18);
    animation: mono-red-glitch 3s infinite;
  }

  @keyframes mono-red-glitch {
    /* Normal steady glow */
    0%, 85%, 100% {
      opacity: .7;
      transform: translateX(0) scaleX(1.18);
      filter: blur(3px) saturate(140%) brightness(115%);
    }

    /* First stutter burst */
    86% {
      opacity: .95;
      transform: translateX(-10px) scaleX(1.26);
      filter: blur(1.5px) saturate(200%) brightness(135%);
    }
    87% {
      opacity: .85;
      transform: translateX(12px) scaleX(1.24);
      filter: blur(2px) saturate(180%) brightness(120%);
    }

    /* Quick reset */
    88% {
      opacity: .75;
      transform: translateX(0) scaleX(1.18);
      filter: blur(3px) saturate(150%) brightness(115%);
    }

    /* Second stutter burst */
    89% {
      opacity: .92;
      transform: translateX(-6px) scaleX(1.22);
      filter: blur(2px) saturate(170%) brightness(125%);
    }
    90% {
      opacity: .88;
      transform: translateX(8px) scaleX(1.24);
      filter: blur(2.5px) saturate(165%) brightness(120%);
    }

    /* Back to steady glow */
    91% {
      opacity: .72;
      transform: translateX(0) scaleX(1.18);
      filter: blur(3px) saturate(140%) brightness(115%);
    }
  }
}

/* Extra polish */
.booking h3 { color:#d84431 !important; text-shadow: 0 0 10px rgba(216,68,49,.25); }
.footer-links-static .link-chip {
  background: rgba(255,255,255,.05) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 1px 8px rgba(0,0,0,.4) !important;
}
/* ===== Footer Partner Logos — final clean rules ===== */

/* Container */
.partners-logos{
  display:flex !important;
  align-items:center !important;          /* baseline-ish alignment */
  justify-content:center !important;
  gap:42px !important;
}

/* Default size for all partner logos */
.partners-logos img{
  width:auto !important;
  max-height:55px !important;
  object-fit:contain !important;
  display:inline-block !important;
  opacity:1 !important;
  filter:none !important;
}

/* Avocado Booking — larger + slight nudge */
.partners-logos img[alt*="avocado" i],
.partners-logos img[src*="avocado" i]{
  max-height:65px !important;             /* scale up */
  margin-top:2px !important;              /* align baseline */
}

/* Nuclear Blast — standard */
.partners-logos img[alt*="nuclear" i],
.partners-logos img[src*="nuclear" i]{
  max-height:55px !important;
  margin-top:0 !important;
}

/* Safety: kill any legacy footer-logos rules */
.footer-logos,
.footer-logos *{ all:unset !important; }
/* ===== Avocado Booking Logo: Visual Scale Boost ===== */
.partners-logos img[alt*="avocado" i],
.partners-logos img[src*="avocado" i] {
  height: 55px !important;          /* match Nuclear Blast baseline */
  transform: scale(1.35) !important; /* scale up inside its box */
  transform-origin: center center !important;
}
