/*
Theme Name: Neon Pulse V13.57 
Theme URI: https://example.com
Author: Your Name
Description: A high-performance, dark-mode theme for Venues and Promoters.
Version: 2.1
License: GNU General Public License v2 or later
Tags: black, dark, entertainment
*/

/* --- WordPress Admin Bar Fix --- */
.admin-bar-fix { margin-top: 32px; }
@media screen and (max-width: 782px) { .admin-bar-fix { margin-top: 46px; } }

/* --- Glitch Effect Animation --- */
.glitch { position: relative; }
.glitch::before, .glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
}
.glitch::before {
    left: 2px; text-shadow: -1px 0 #ff00c1; clip: rect(44px, 450px, 56px, 0);
    animation: glitch-anim 5s infinite linear alternate-reverse;
}
.glitch::after {
    left: -2px; text-shadow: -1px 0 #00fff9; clip: rect(44px, 450px, 56px, 0);
    animation: glitch-anim2 5s infinite linear alternate-reverse;
}
@keyframes glitch-anim {
    0% { clip: rect(38px, 9999px, 84px, 0); }
    20% { clip: rect(6px, 9999px, 86px, 0); }
    40% { clip: rect(78px, 9999px, 21px, 0); }
    60% { clip: rect(15px, 9999px, 49px, 0); }
    80% { clip: rect(60px, 9999px, 12px, 0); }
    100% { clip: rect(27px, 9999px, 76px, 0); }
}
@keyframes glitch-anim2 {
    0% { clip: rect(12px, 9999px, 89px, 0); }
    20% { clip: rect(82px, 9999px, 34px, 0); }
    40% { clip: rect(2px, 9999px, 63px, 0); }
    60% { clip: rect(54px, 9999px, 13px, 0); }
    80% { clip: rect(96px, 9999px, 81px, 0); }
    100% { clip: rect(41px, 9999px, 32px, 0); }
}

/* --- MOBILE LAYOUT ENFORCEMENT --- */
*, *::before, *::after {
  box-sizing: border-box !important;
}
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important; /* Changed from 100vw to 100% to prevent scrollbar overlap */
}
@media (max-width: 1023px) {
  .events-split-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .events-split-col {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
  }
  .events-card-left {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .events-card-left h3, 
  .events-card-left p {
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
}
/* --- ULTRA-WIDE DISPLAY FLUID SCALING (1600px+) --- */
@media screen and (min-width: 1600px) {
  html {
    /* Fluid scaling factor: naturally bumps typography size for 2K/4K displays */
    font-size: 18px !important; 
  }
  
  /* Expand prose structural layout constraints on ultra-wide viewports */
  .prose {
    max-w-none !important;
  }
}

/* --- GUTENBERG BLOCK ALIGNMENT ENGINE SUPPORT --- */
.alignwide {
  margin-left: calc(50% - 48vw);
  margin-right: calc(50% - 48vw);
  max-width: 96vw;
  width: 96vw;
}

.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
  border-radius: 0 !important;
}

/* Ensure inner blocks behave responsibly within the layout container */
@media (min-width: 1024px) {
  .alignwide {
    margin-left: calc(50% - 42vw);
    margin-right: calc(50% - 42vw);
    max-width: 84vw;
    width: 84vw;
  }
}

/* Jetpack & Gutenberg Forms Input Fixes */
.wp-block-button__link {
  background-color: var(--color-accent) !important;
  color: #000 !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  transition: all 0.2s ease;
}
.wp-block-button__link:hover {
  background-color: #fff !important;
}