/* =====================================================================
   Lubbock Arts Festival 2027 – "LIGHT" theme
   Neon-sign look from the 2027 logo and concept art: deep indigo to
   violet backgrounds, hot pink / cyan / purple / yellow outline glow.

   Loads after the parent theme, style.css and a11y.css.

   Rules of this file
   - Glow lives on headings, borders and decorations only. Body copy is
     plain, high-contrast text.
   - Every text/background pair below is checked against WCAG 2.1 AA
     (see CONTRAST notes beside each token).
   - No animation. Hover transitions are removed for reduced motion.
   - Focus outlines are owned by a11y.css; nothing here removes them.
   ===================================================================== */

/* ------------------------------------------------------------------
   1. Tokens (hex values sampled from LAF-Logo-2027.svg + concept art)
   ------------------------------------------------------------------ */
:root {
  /* Backgrounds */
  --laf-ink:        #0b021d;  /* deepest indigo-black (ad corners) */
  --laf-indigo:     #140a3a;  /* primary background (logo/ads)     */
  --laf-indigo-2:   #1d1150;  /* raised surface / cards            */
  --laf-violet:     #3a0f6b;  /* gradient mid                      */
  --laf-haze:       #7f105f;  /* magenta haze (use at low alpha)   */

  /* Neon tube colors (exact logo fills) */
  --laf-pink:       #f5045b;
  --laf-cyan:       #00dae6;
  --laf-purple:     #8900ec;
  --laf-yellow:     #ffdf05;

  /* Tube "hot cores" (exact logo core fills) - used for text */
  --laf-pink-core:   #ffcae0;
  --laf-cyan-core:   #d4ffff;
  --laf-purple-core: #edd9ff;
  --laf-yellow-core: #fff7c5;

  /* Text-safe tints of the neon colors for small type on dark */
  --laf-pink-text:   #ff7ab0;
  --laf-purple-text: #c9a0ff;

  /* Text */
  --laf-text:       #f6f2ff;  /* body text on dark   */
  --laf-text-muted: #d3c9f0;  /* secondary text      */

  /* Light panel (sponsor logos etc.) */
  --laf-panel:      #f7f3ff;
  --laf-panel-text: #140a3a;

  /* Button fills (white text must clear 4.5:1) */
  --laf-btn-pink:   #c4004a;
  --laf-btn-purple: #7a00d1;

  /* Glows */
  --laf-glow-pink:   0 0 6px rgba(245,4,91,.85), 0 0 18px rgba(245,4,91,.55), 0 0 38px rgba(245,4,91,.35);
  --laf-glow-cyan:   0 0 6px rgba(0,218,230,.8),  0 0 18px rgba(0,218,230,.5),  0 0 38px rgba(0,218,230,.3);
  --laf-glow-yellow: 0 0 6px rgba(255,223,5,.75), 0 0 18px rgba(255,223,5,.45), 0 0 38px rgba(255,223,5,.28);
  --laf-glow-purple: 0 0 6px rgba(137,0,236,.95), 0 0 18px rgba(137,0,236,.6),  0 0 38px rgba(137,0,236,.4);

  --laf-page-bg:
    radial-gradient(ellipse 70% 38% at 100% 0%,  rgba(127,16,95,.34) 0%, transparent 70%),
    radial-gradient(ellipse 60% 45% at 0% 38%,   rgba(58,15,107,.70) 0%, transparent 72%),
    radial-gradient(ellipse 60% 40% at 100% 72%, rgba(127,16,95,.22) 0%, transparent 70%),
    linear-gradient(180deg, #140a3a 0%, #1a0d47 45%, #0f0630 100%);

  --laf-neon-line: linear-gradient(90deg, var(--laf-pink), var(--laf-purple) 50%, var(--laf-cyan));
}

/* ------------------------------------------------------------------
   2. Page canvas and base text
   ------------------------------------------------------------------ */
html, body {
  background-color: var(--laf-indigo) !important;
}
body,
body #ajax-content-wrap,
body .ocm-effect-wrap,
body .ocm-effect-wrap-inner,
body #boxed {
  background: var(--laf-page-bg) !important;
  background-color: var(--laf-indigo) !important;
}
body .container-wrap,
body .main-content {
  background: transparent !important;
}

body,
body #ajax-content-wrap,
body #ajax-content-wrap p,
body #ajax-content-wrap li,
body #ajax-content-wrap td,
body #ajax-content-wrap th,
body #ajax-content-wrap dd,
body #ajax-content-wrap dt,
body #ajax-content-wrap label,
body #ajax-content-wrap .wpb_text_column,
body #ajax-content-wrap .wpb_text_column p,
body #ajax-content-wrap .wpb_wrapper {
  color: var(--laf-text);
}
body #ajax-content-wrap strong,
body #ajax-content-wrap b { color: #ffffff; }
body #ajax-content-wrap em  { color: var(--laf-text); }

/* Inline black text pasted into page content (22 spots site-wide) */
body #ajax-content-wrap [style*="color: #000000"],
body #ajax-content-wrap [style*="color:#000000"],
body #ajax-content-wrap [style*="color: #000;"],
body #ajax-content-wrap [style*="color: rgb(0, 0, 0)"] {
  color: var(--laf-text) !important;
}

/* Rows that carry a white inline background become transparent. Salient also
   paints --row-bg-color on the row itself, so the custom property is overridden. */
body .vc_row.has-row-bg-color { background-color: transparent !important; }
body .row-bg.using-bg-color[style*="#ffffff"],
body .row-bg.using-bg-color[style*="#fff;"],
body .row-bg.using-bg-color[style*="#FFFFFF"] {
  background-color: transparent !important;
}
body .vc_row.has-row-bg-color[style*="--row-bg-color: #ffffff"] { --row-bg-color: transparent !important; }
/* The homepage hero row fades to white at the bottom; drop that fade */
body .row-bg-overlay[style*="rgb(255,255,255)"] { background: none !important; }

/* Columns with a white WPBakery background color become dark glass panels */
body .column-bg-overlay[style*="#ffffff"],
body .column-bg-overlay[style*="#fff;"] {
  background: linear-gradient(160deg, rgba(29,17,80,.82), rgba(20,10,58,.88)) !important;
  border: 1.5px solid rgba(201,160,255,.5);
  border-radius: 18px;
  box-shadow: 0 0 24px rgba(137,0,236,.3), inset 0 0 30px rgba(137,0,236,.12);
}
body .wpb_column:has(> .vc_column-inner > .column-bg-overlay-wrap) > .vc_column-inner > .wpb_wrapper { padding: 6px 4px; }

/* Full-color sponsor / partner logos inside page content sit on a light chip */
body #ajax-content-wrap img[src*="logo" i],
body #ajax-content-wrap img[src*="GECU" i],
body #ajax-content-wrap img[src*="SPONSOR" i],
body #ajax-content-wrap img[data-nectar-img-src*="SPONSOR" i] {
  background: var(--laf-panel);
  border-radius: 14px !important;
  padding: 12px 16px;
  box-shadow: 0 0 0 2px var(--laf-cyan), 0 0 18px rgba(0,218,230,.4) !important;
}
body #ajax-content-wrap .laf-sponsors-partners img,
body #ajax-content-wrap .laf-sponsors-title img,
body #ajax-content-wrap .laf-sponsors img { background: transparent; padding: 0; box-shadow: none !important; border-radius: 0 !important; }

/* Links in content */
body #ajax-content-wrap a:not(.nectar-button):not(.laf-btn):not(.laf-fg-btn):not(.button):not(.laf-so) {
  color: var(--laf-cyan);
}
body #ajax-content-wrap a:not(.nectar-button):not(.laf-btn):not(.laf-fg-btn):not(.button):not(.laf-so):hover {
  color: var(--laf-cyan-core);
}

/* Rules / separators */
body hr,
body .divider-small-border,
body .divider-border {
  border-color: rgba(201,160,255,.35) !important;
  background-color: rgba(201,160,255,.35) !important;
}

/* ------------------------------------------------------------------
   3. Headings – neon tube: bright core + colored glow
   ------------------------------------------------------------------ */
body h1, body h1 a,
body .split-line h1 {
  color: var(--laf-pink-core) !important;
  text-shadow: var(--laf-glow-pink);
}
body h2, body h2 a {
  color: var(--laf-cyan-core) !important;
  text-shadow: var(--laf-glow-cyan);
  font-weight: 600;
}
body h3, body h3 a {
  color: var(--laf-yellow-core) !important;
  text-shadow: var(--laf-glow-yellow);
}
body h4, body h5, body h6,
body h4 a, body h5 a, body h6 a {
  color: var(--laf-purple-core) !important;
  text-shadow: var(--laf-glow-purple);
}
/* Salient split-line / inline-colored headings */
body #ajax-content-wrap h1[style*="color"],
body #ajax-content-wrap .split-line[style*="EF4F23"],
body #ajax-content-wrap [style*="color: #EF4F23"],
body #ajax-content-wrap [style*="color:#EF4F23"] {
  color: var(--laf-pink-core) !important;
  text-shadow: var(--laf-glow-pink) !important;
}
body #ajax-content-wrap [style*="color: #C9A0DC"],
body #ajax-content-wrap [style*="color:#C9A0DC"] {
  color: var(--laf-purple-core) !important;
  text-shadow: var(--laf-glow-purple) !important;
}

/* 2026 flower glyph beside every h1 -> gone */
.wpb_column h1::after,
.vc_column-inner h1::after { content: none !important; display: none !important; }

/* 2026 floral extras: petal rain + ambient bloom glows are retired */
#laf-petal-rain, .laf-petal { display: none !important; }
.vc_row:not(.laf-hero)::before { content: none !important; display: none !important; animation: none !important; }

/* ------------------------------------------------------------------
   4. Header – deep indigo, neon rule underneath
   ------------------------------------------------------------------ */
body #header-outer,
body #header-outer[data-lhe],
body #header-outer.small-nav,
body #header-outer header#top,
body header#top {
  background: linear-gradient(180deg, #0b021d 0%, #140a3a 62%, #1d1150 100%) !important;
  background-color: #140a3a !important;
  box-shadow: 0 6px 28px rgba(245,4,91,.22) !important;
}
body header#top {
  border-bottom: 3px solid transparent !important;
  border-image: var(--laf-neon-line) 1 !important;
  box-shadow: none !important;
}
body #header-outer { border-bottom: 0 !important; }
body #header-space { background: var(--laf-indigo) !important; }

/* Logo: a bit tighter than the 2026 artwork so the menu stays above the fold.
   Includes the "Presented by United Supermarkets" mark below the festival logo. */
@media (min-width: 1000px) {
  body #header-outer #logo img,
  body #header-outer .logo-clone img,
  body #header-outer .logo-spacing img,
  body #header-outer.small-nav #logo img { height: 200px !important; width: auto; }
  body #header-outer #logo,
  body #header-outer .logo-clone,
  body #header-outer .logo-spacing { margin-top: 18px !important; margin-bottom: 14px !important; }
}

/* Primary nav (selectors mirror the parent's #header-outer[data-lhe] #top specificity) */
body #header-outer #top nav > ul > li > a,
body #header-outer[data-lhe] #top nav > ul > li > a,
body header#top ul.sf-menu > li > a {
  color: var(--laf-text) !important;
  letter-spacing: .04em;
}
body #header-outer #top nav > ul > li > a:hover,
body #header-outer[data-lhe] #top nav > ul > li > a:hover,
body #header-outer[data-lhe] #top nav .sf-menu > .sfHover:not(#social-in-menu) > a,
body #header-outer #top nav .sf-menu > .sfHover > a,
body header#top ul.sf-menu > li > a:hover {
  color: var(--laf-cyan) !important;
  text-shadow: 0 0 10px rgba(0,218,230,.7);
}
body #header-outer[data-lhe] #top nav .sf-menu > .current-menu-item > a,
body #header-outer[data-lhe] #top nav .sf-menu > .current_page_item > a,
body #header-outer[data-lhe] #top nav .sf-menu > .current-menu-ancestor > a,
body #header-outer[data-lhe] #top nav .sf-menu > .current_page_ancestor > a,
body #header-outer #top nav .sf-menu > .current-menu-item > a,
body #header-outer #top nav .sf-menu > .current_page_item > a,
body #header-outer #top nav .sf-menu > .current-menu-ancestor > a {
  color: var(--laf-pink-text) !important;
  text-shadow: 0 0 10px rgba(245,4,91,.7);
}
body #header-outer #top nav > ul > li > a .sf-sub-indicator i,
body #header-outer[data-lhe] #top nav > ul > li > a .sf-sub-indicator i,
body header#top nav > ul > li > a .nectar-menu-icon,
body #header-outer #top nav > ul > li > a .nectar-menu-icon,
body #header-outer[data-lhe] #top nav > ul > li > a .nectar-menu-icon,
body #header-outer #top nav > ul > li > a .nectar-menu-icon.fa { color: var(--laf-cyan) !important; }

/* Tickets button in the nav */
body header#top nav > ul > li.button_solid_color > a,
body #header-outer #top nav > ul > li.button_solid_color > a {
  background: linear-gradient(135deg, var(--laf-btn-pink), var(--laf-btn-purple)) !important;
  color: #ffffff !important;
  border: 2px solid var(--laf-pink) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 14px rgba(245,4,91,.55), inset 0 0 8px rgba(255,255,255,.12);
  text-shadow: none !important;
}
body header#top nav > ul > li.button_solid_color > a:hover {
  background: var(--laf-cyan) !important;
  border-color: var(--laf-cyan) !important;
  color: var(--laf-ink) !important;
  box-shadow: 0 0 18px rgba(0,218,230,.7);
}

/* Dropdowns */
body header#top ul.sf-menu ul,
body header#top .sf-menu ul.sub-menu,
body #header-outer .sf-menu li ul {
  background: #140a3a !important;
  background-color: #140a3a !important;
  border: 1px solid rgba(201,160,255,.35) !important;
  border-top: 3px solid var(--laf-cyan) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.55), 0 0 22px rgba(0,218,230,.18) !important;
  border-radius: 0 0 10px 10px !important;
}
body header#top .sf-menu ul li a,
body header#top ul.sf-menu ul li a,
body #header-outer .sf-menu li ul li a,
body header#top .sf-menu ul li a .menu-title-text,
body #header-outer #top nav ul ul li a,
body #header-outer[data-lhe] #top nav ul ul li a,
body #header-outer #top nav ul ul li a .menu-title-text {
  color: var(--laf-text) !important;
  background: transparent !important;
}
body #header-outer #top nav ul ul li a:hover,
body #header-outer #top nav ul ul li a:hover .menu-title-text,
body #header-outer[data-lhe] #top nav ul ul li a:hover,
body #header-outer #top nav ul ul li.current-menu-item > a,
body #header-outer #top nav ul ul li.current-menu-item > a .menu-title-text { color: var(--laf-cyan) !important; }
body header#top .sf-menu ul li a:hover,
body header#top ul.sf-menu ul li a:hover,
body header#top .sf-menu ul li.sfHover > a,
body #header-outer .sf-menu li ul li a:hover {
  color: var(--laf-cyan) !important;
  background-color: rgba(137,0,236,.28) !important;
}
body .sf-menu li ul li a .menu-title-text::after,
body #header-outer .sf-menu li ul li a .menu-title-text::after { background: var(--laf-neon-line) !important; background-color: var(--laf-pink) !important; box-shadow: 0 0 6px rgba(245,4,91,.7); }
body header#top ul.sf-menu ul li { border-bottom: 1px solid rgba(201,160,255,.14) !important; }

/* Mobile: hamburger + slide-out menu (2026 had orange / blue) */
body header#top span.lines,
body header#top span.lines::before,
body header#top span.lines::after,
body .mobile-menu span.lines,
body .mobile-menu span.lines::before,
body .mobile-menu span.lines::after,
body #header-outer .lines-button .lines,
body #header-outer .lines-button .lines::before,
body #header-outer .lines-button .lines::after {
  background-color: var(--laf-cyan) !important;
}
body #slide-out-widget-area,
body #slide-out-widget-area-bg,
body #slide-out-widget-area-bg.solid {
  background: linear-gradient(180deg, #0b021d 0%, #140a3a 55%, #3a0f6b 100%) !important;
  background-color: #140a3a !important;
}
body #slide-out-widget-area .inner .off-canvas-menu-container li a,
body .mobile-menu .mobile-menu-inner ul li a,
body .mobile_menu_holder ul li a {
  color: var(--laf-text) !important;
  border-bottom: 1px solid rgba(201,160,255,.2) !important;
}
body #slide-out-widget-area .inner .off-canvas-menu-container li a:hover,
body #slide-out-widget-area .inner .off-canvas-menu-container li.current-menu-item > a,
body .mobile-menu .mobile-menu-inner ul li a:hover,
body .mobile_menu_holder ul li a:hover {
  color: var(--laf-cyan) !important;
  text-shadow: 0 0 10px rgba(0,218,230,.6);
}
body #slide-out-widget-area .inner .off-canvas-menu-container li ul li a,
body .mobile-menu .mobile-menu-inner ul li ul li a,
body .mobile_menu_holder ul li ul li a { color: var(--laf-text-muted) !important; }
body #slide-out-widget-area .close-btn a span,
body #slide-out-widget-area .close-btn a span::before,
body #slide-out-widget-area .close-btn a span::after,
body #slide-out-widget-area .slide_out_area_close .icon-salient-x { color: var(--laf-cyan) !important; background-color: transparent; }
body #slide-out-widget-area .slide_out_area_close .icon-salient-x::before { color: var(--laf-cyan) !important; }

/* Search overlay, if enabled */
body #search-outer { background: rgba(11,2,29,.96) !important; }
body #search-outer input[type="text"],
body #search-outer #search input[type="text"] { color: var(--laf-text) !important; }

/* ------------------------------------------------------------------
   5. Footer – indigo with neon rule on top
   ------------------------------------------------------------------ */
body #footer-outer,
body #footer-outer #footer-widgets,
body #footer-outer #copyright {
  background: linear-gradient(180deg, #140a3a 0%, #0b021d 100%) !important;
  background-color: #0b021d !important;
  color: var(--laf-text-muted) !important;
}
body #footer-outer {
  border-top: 3px solid transparent;
  border-image: var(--laf-neon-line) 1;
  box-shadow: 0 -8px 28px rgba(137,0,236,.25);
}
body #footer-outer p,
body #footer-outer .widget,
body #footer-outer li { color: var(--laf-text-muted) !important; }
body #footer-outer a,
body #footer-outer #copyright a,
body #footer-outer .widget a { color: var(--laf-cyan) !important; }
body #footer-outer a:hover,
body #footer-outer #copyright a:hover { color: var(--laf-cyan-core) !important; }
body #footer-outer #copyright .social li a i,
body #footer-outer .social li a i {
  color: var(--laf-cyan-core) !important;
  background: transparent !important;
  text-shadow: 0 0 8px rgba(0,218,230,.7);
}

/* ------------------------------------------------------------------
   6. Buttons – neon outline, glow border, fill on hover
   ------------------------------------------------------------------ */
body .nectar-button,
body .nectar-button.regular,
body .nectar-button.jumbo,
body .nectar-button.large,
body .nectar_btn,
body a.button,
body button.button,
body .wpcf7-submit,
body input[type="submit"],
body input[type="button"],
body .mc4wp-form input[type="submit"],
body #ajax-content-wrap .laf-btn {
  background: linear-gradient(135deg, var(--laf-btn-pink), var(--laf-btn-purple)) !important;
  background-color: var(--laf-btn-pink) !important;
  color: #ffffff !important;
  border: 2px solid var(--laf-pink) !important;
  border-radius: 999px !important;
  text-shadow: none !important;
  box-shadow: 0 0 14px rgba(245,4,91,.55), inset 0 0 10px rgba(255,255,255,.1) !important;
  transition: background-color .2s, color .2s, box-shadow .2s, border-color .2s;
}
body .nectar-button i, body .nectar-button span { color: inherit !important; }
body .nectar-button:hover,
body .nectar_btn:hover,
body a.button:hover,
body button.button:hover,
body .wpcf7-submit:hover,
body input[type="submit"]:hover,
body input[type="button"]:hover,
body #ajax-content-wrap .laf-btn:hover {
  background: var(--laf-cyan) !important;
  background-color: var(--laf-cyan) !important;
  border-color: var(--laf-cyan) !important;
  color: var(--laf-ink) !important;
  box-shadow: 0 0 20px rgba(0,218,230,.7) !important;
}
body .nectar-button:hover i, body .nectar-button:hover span { color: var(--laf-ink) !important; }
/* Variants used in the hero slides (2026 had five brand colors) */
body #laf-dc .laf-btn-explore,
body .laf-hero .laf-btn-explore  { background: linear-gradient(135deg, var(--laf-btn-pink), var(--laf-btn-purple)) !important; }
body #laf-dc .laf-btn-schedule,
body .laf-hero .laf-btn-schedule { background: transparent !important; color: var(--laf-cyan-core) !important; border-color: var(--laf-cyan) !important; box-shadow: 0 0 14px rgba(0,218,230,.5), inset 0 0 10px rgba(0,218,230,.18) !important; }
body #laf-dc .laf-btn-tickets,
body .laf-hero .laf-btn-tickets  { background: linear-gradient(135deg, var(--laf-btn-pink), var(--laf-btn-purple)) !important; }
body #laf-dc .laf-btn-artrageous,
body .laf-hero .laf-btn-artrageous { background: transparent !important; color: var(--laf-yellow-core) !important; border-color: var(--laf-yellow) !important; box-shadow: 0 0 14px rgba(255,223,5,.45), inset 0 0 10px rgba(255,223,5,.15) !important; }
body #laf-dc .laf-btn-culinary,
body .laf-hero .laf-btn-culinary { background: transparent !important; color: var(--laf-cyan-core) !important; border-color: var(--laf-cyan) !important; box-shadow: 0 0 14px rgba(0,218,230,.5), inset 0 0 10px rgba(0,218,230,.18) !important; }
body #laf-dc .laf-btn-schedule:hover,
body #laf-dc .laf-btn-artrageous:hover,
body #laf-dc .laf-btn-culinary:hover,
body .laf-hero .laf-btn-schedule:hover,
body .laf-hero .laf-btn-artrageous:hover,
body .laf-hero .laf-btn-culinary:hover { background: var(--laf-cyan) !important; color: var(--laf-ink) !important; }

/* Gallery / slider arrows (were accent orange) */
body .flex-direction-nav a,
body .flexslider .flex-direction-nav a,
body .nectar-flickity .flickity-prev-next-button,
body .nectar-carousel .owl-nav button {
  background: rgba(20,10,58,.85) !important;
  color: var(--laf-cyan-core) !important;
  border: 2px solid var(--laf-cyan) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 10px rgba(0,218,230,.5);
}
body .flex-direction-nav a:hover { background: var(--laf-cyan) !important; color: var(--laf-ink) !important; }
body .flex-direction-nav a i, body .flex-direction-nav a::before { color: inherit !important; }
body .flex-control-nav li a { background: rgba(201,160,255,.6) !important; }
body .flex-control-nav li a.flex-active { background: var(--laf-cyan) !important; }

/* Forms */
body input[type="text"], body input[type="email"], body input[type="tel"],
body input[type="url"], body input[type="search"], body input[type="password"],
body input[type="number"], body textarea, body select {
  background: rgba(255,255,255,.07) !important;
  color: var(--laf-text) !important;
  border: 1.5px solid rgba(201,160,255,.55) !important;
  border-radius: 8px !important;
}
body input::placeholder, body textarea::placeholder { color: #b9acdd; opacity: 1; }
body input[type="text"]:focus, body input[type="email"]:focus, body input[type="tel"]:focus,
body textarea:focus, body select:focus {
  border-color: var(--laf-cyan) !important;
  box-shadow: 0 0 12px rgba(0,218,230,.45) !important;
}
body select option { background: #140a3a; color: var(--laf-text); }

/* ------------------------------------------------------------------
   7. Recurring info blocks (festival / hours / admission)
      2026 orange / blue / gold -> neon pink / cyan / yellow outline cards
   ------------------------------------------------------------------ */
body .laf-fg,
body .laf-info-blocks .laf-fg {
  background: transparent !important;
  position: relative;
}
body .laf-fg .laf-fg-card,
body .laf-info-blocks .laf-fg-card {
  background: linear-gradient(160deg, rgba(29,17,80,.92) 0%, rgba(20,10,58,.96) 100%) !important;
  border: 2px solid var(--laf-pink);
  border-radius: 18px;
  color: var(--laf-text);
  box-shadow: 0 0 18px rgba(245,4,91,.45), inset 0 0 22px rgba(245,4,91,.12);
}
body .laf-fg .laf-fg-card:hover { box-shadow: 0 0 26px rgba(245,4,91,.6), inset 0 0 26px rgba(245,4,91,.16); }
body .laf-fg .laf-fg-card--blue {
  border-color: var(--laf-cyan);
  box-shadow: 0 0 18px rgba(0,218,230,.4), inset 0 0 22px rgba(0,218,230,.1);
}
body .laf-fg .laf-fg-card--blue:hover { box-shadow: 0 0 26px rgba(0,218,230,.55), inset 0 0 26px rgba(0,218,230,.14); }
body .laf-fg .laf-fg-card--gold {
  border-color: var(--laf-yellow);
  color: var(--laf-text);
  box-shadow: 0 0 18px rgba(255,223,5,.35), inset 0 0 22px rgba(255,223,5,.08);
}
body .laf-fg .laf-fg-card--gold:hover { box-shadow: 0 0 26px rgba(255,223,5,.5), inset 0 0 26px rgba(255,223,5,.12); }

body .laf-fg .laf-fg-icon { background: transparent; border: 2px solid currentColor; }
body .laf-fg .laf-fg-card--orange .laf-fg-icon { color: var(--laf-pink-core); box-shadow: 0 0 12px rgba(245,4,91,.6); }
body .laf-fg .laf-fg-card--blue   .laf-fg-icon { color: var(--laf-cyan-core); box-shadow: 0 0 12px rgba(0,218,230,.6); }
body .laf-fg .laf-fg-card--gold   .laf-fg-icon { color: var(--laf-yellow-core); box-shadow: 0 0 12px rgba(255,223,5,.55); background: transparent; }
body .laf-fg .laf-fg-card--orange .laf-fg-icon i { color: var(--laf-pink-core) !important; }
body .laf-fg .laf-fg-card--blue   .laf-fg-icon i { color: var(--laf-cyan-core) !important; }
body .laf-fg .laf-fg-card--gold   .laf-fg-icon i { color: var(--laf-yellow-core) !important; }

body .laf-fg .laf-fg-tag,
body .laf-fg .laf-fg-card--gold .laf-fg-tag { color: var(--laf-text-muted); }
body .laf-fg .laf-fg-card h4 { color: #ffffff !important; text-shadow: none; }
body .laf-fg .laf-fg-card--orange h4 { text-shadow: var(--laf-glow-pink); color: var(--laf-pink-core) !important; }
body .laf-fg .laf-fg-card--blue   h4 { text-shadow: var(--laf-glow-cyan); color: var(--laf-cyan-core) !important; }
body .laf-fg .laf-fg-card--gold   h4 { text-shadow: var(--laf-glow-yellow); color: var(--laf-yellow-core) !important; }
body .laf-fg .laf-fg-card p,
body .laf-fg .laf-fg-card--gold p { color: var(--laf-text) !important; }
body .laf-fg .laf-fg-divider,
body .laf-fg .laf-fg-card--gold .laf-fg-divider { background: currentColor; opacity: .7; }
body .laf-fg .laf-fg-card--orange .laf-fg-divider { color: var(--laf-pink); }
body .laf-fg .laf-fg-card--blue   .laf-fg-divider { color: var(--laf-cyan); }
body .laf-fg .laf-fg-card--gold   .laf-fg-divider { color: var(--laf-yellow); }

body .laf-fg .laf-fg-btn {
  background: transparent !important;
  border: 2px solid var(--laf-pink);
  color: #ffffff !important;
  border-radius: 999px;
  backdrop-filter: none;
  box-shadow: 0 0 12px rgba(245,4,91,.45);
}
body .laf-fg .laf-fg-card--blue .laf-fg-btn { border-color: var(--laf-cyan); box-shadow: 0 0 12px rgba(0,218,230,.45); }
body .laf-fg .laf-fg-card--gold .laf-fg-btn { border-color: var(--laf-yellow); color: #ffffff !important; box-shadow: 0 0 12px rgba(255,223,5,.4); }
body .laf-fg .laf-fg-btn:hover,
body .laf-fg .laf-fg-card--gold .laf-fg-btn:hover {
  background: var(--laf-cyan) !important;
  border-color: var(--laf-cyan);
  color: var(--laf-ink) !important;
}

/* ------------------------------------------------------------------
   8. Homepage – hero carousel (#laf-dc / .laf-hero)
   ------------------------------------------------------------------ */
body #laf-dc .laf-hero-swiper .swiper-slide-active,
body .laf-hero .swiper-slide-active {
  box-shadow: 0 0 0 2px var(--laf-pink), 0 0 26px rgba(245,4,91,.55), 0 0 60px rgba(137,0,236,.35);
}
body #laf-dc .laf-ho,
body .laf-hero .laf-ho {
  background: linear-gradient(to top, rgba(11,2,29,.94) 0%, rgba(11,2,29,.82) 46%, rgba(20,10,58,.25) 80%, transparent 100%);
}
body #laf-dc .laf-ho .laf-tag,
body .laf-hero .laf-ho .laf-tag { color: var(--laf-cyan-core); text-shadow: 0 0 8px rgba(0,218,230,.6); }
body #laf-dc .laf-ho h2,
body .laf-hero .laf-ho h2 { color: #ffffff !important; text-shadow: var(--laf-glow-pink); }
body #laf-dc .laf-ho p,
body .laf-hero .laf-ho p { color: var(--laf-text) !important; opacity: 1; }
body #laf-dc .laf-hero-swiper .swiper-pagination-bullet,
body .laf-hero .swiper-pagination-bullet { background: var(--laf-cyan); opacity: .5; }
body #laf-dc .laf-hero-swiper .swiper-pagination-bullet-active,
body .laf-hero .swiper-pagination-bullet-active { background: var(--laf-pink); opacity: 1; box-shadow: 0 0 10px rgba(245,4,91,.9); }
body #laf-dc .laf-hero-outer .laf-hero-prev,
body #laf-dc .laf-hero-outer .laf-hero-next,
body #laf-hero-pause {
  background: rgba(20,10,58,.75);
  border: 2px solid var(--laf-cyan);
  color: var(--laf-cyan-core);
  box-shadow: 0 0 12px rgba(0,218,230,.5);
  backdrop-filter: none;
}
body #laf-dc .laf-hero-outer .laf-hero-prev:hover,
body #laf-dc .laf-hero-outer .laf-hero-next:hover,
body #laf-hero-pause:hover { background: var(--laf-cyan); color: var(--laf-ink); }
body #laf-dc .laf-so span { color: var(--laf-cyan-core); }
body #laf-dc .laf-sub-swiper .swiper-slide { border: 1.5px solid rgba(0,218,230,.55); box-shadow: 0 0 12px rgba(0,218,230,.25); }
body #laf-dc .laf-sub-prev,
body #laf-dc .laf-sub-next { background: rgba(20,10,58,.85); border: 2px solid var(--laf-cyan); box-shadow: 0 0 10px rgba(0,218,230,.45); }
body #laf-dc .laf-sub-prev svg,
body #laf-dc .laf-sub-next svg { stroke: var(--laf-cyan-core); }
body #laf-dc .laf-sub-pag .swiper-pagination-bullet { background: var(--laf-purple-text); }
body #laf-dc .laf-sub-pag .swiper-pagination-bullet-active { background: var(--laf-cyan); }

/* Phones: move the hero arrows below the copy so they never cover the slide text */
@media (max-width: 600px) {
  body #laf-dc .laf-hero-outer .laf-hero-prev,
  body #laf-dc .laf-hero-outer .laf-hero-next {
    top: auto; bottom: 10px; transform: none; width: 34px; height: 34px;
  }
  body #laf-dc .laf-hero-outer .laf-hero-prev { left: 14px; }
  body #laf-dc .laf-hero-outer .laf-hero-next { left: 56px; right: auto; }
}

/* Gallery / image frames: neon hairline instead of the 2026 soft shadow */
body .wpb_gallery,
body .flexslider { border: 0 !important; }
body .wpb_column .wpb_wrapper .img-with-aniamtion-wrap img:not([class*="logo"]) {
  box-shadow: 0 0 0 2px rgba(0,218,230,.55), 0 0 22px rgba(0,218,230,.28);
}

body .laf-sponsors img,
body .laf-best-in-texas img { box-shadow: none !important; }
body .laf-best-in-texas img { filter: drop-shadow(0 0 10px rgba(255,223,5,.55)) drop-shadow(0 0 22px rgba(245,4,91,.4)); }

/* ------------------------------------------------------------------
   9. "Best in Texas" band – violet panel with neon rules
   ------------------------------------------------------------------ */
body .vc_row:has(> .row-bg-wrap .row-bg[style*="#2b3681"]),
body .vc_row.has-row-bg-color[style*="--row-bg-color: #2b3681"] {
  position: relative;
}
body .row-bg.using-bg-color[style*="#2b3681"] {
  background: linear-gradient(120deg, #1d1150 0%, #3a0f6b 55%, #6a0f66 100%) !important;
  border-top: 2px solid var(--laf-cyan);
  border-bottom: 2px solid var(--laf-pink);
  box-shadow: 0 0 24px rgba(0,218,230,.3), 0 0 24px rgba(245,4,91,.3);
}
body .vc_row[style*="--row-bg-color: #2b3681"] h1,
body .vc_row[style*="--row-bg-color: #2b3681"] h2,
body .vc_row[style*="--row-bg-color: #2b3681"] h3,
body .vc_row[style*="--row-bg-color: #2b3681"] h4 {
  color: var(--laf-yellow-core) !important;
  text-shadow: var(--laf-glow-yellow);
}
body .vc_row[style*="--row-bg-color: #2b3681"] p { color: var(--laf-text) !important; }

/* Vendor / artist notice (was solid red #DD3333) */
body .row-bg.using-bg-color[style*="#DD3333"] {
  background: linear-gradient(90deg, #4a0a3a 0%, #2a0c55 100%) !important;
  border-top: 2px solid var(--laf-pink);
  border-bottom: 2px solid var(--laf-pink);
}
body .vc_row[style*="--row-bg-color: #DD3333"],
body .vc_row[style*="--row-bg-color: #DD3333"] p,
body .vc_row[style*="--row-bg-color: #DD3333"] strong,
body .vc_row[style*="--row-bg-color: #DD3333"] span { color: var(--laf-text) !important; }
body .vc_row[style*="--row-bg-color: #DD3333"] a { color: var(--laf-yellow-core) !important; text-decoration: underline; }

/* ------------------------------------------------------------------
   10. Sponsor area – light panel so full-color logos stay legible
       Homepage hooks: .laf-sponsors-title (title sponsor) and
       .laf-sponsors-partners (logo carousel).
   ------------------------------------------------------------------ */
body .laf-sponsors-title .wpb_column:not(.vc_hidden-sm):not(.vc_hidden-xs) > .vc_column-inner,
body .laf-sponsors-partners .wpb_column > .vc_column-inner,
body .vc_row:not(.laf-sponsors):has(.carousel.clients) .wpb_column > .vc_column-inner {
  background: var(--laf-panel);
  color: var(--laf-panel-text);
  border-radius: 22px;
  border: 2px solid var(--laf-cyan);
  box-shadow: 0 0 22px rgba(0,218,230,.5), inset 0 0 0 4px rgba(247,243,255,.7);
  padding: 22px 28px !important;
}
body .laf-sponsors-partners .wpb_column > .vc_column-inner { max-width: 1280px; margin: 0 auto; }
body .laf-sponsors h1, body .laf-sponsors h2, body .laf-sponsors h3, body .laf-sponsors h4,
body .laf-sponsors p, body .laf-sponsors li,
body .laf-sponsors .wpb_wrapper,
body .laf-sponsors .wpb_text_column,
body .vc_row:has(.carousel.clients) h1, body .vc_row:has(.carousel.clients) h2,
body .vc_row:has(.carousel.clients) h3, body .vc_row:has(.carousel.clients) p {
  color: var(--laf-panel-text) !important;
  text-shadow: none !important;
}
body .laf-sponsors a:not(.nectar-button) { color: #5a0fa8 !important; }
body .carousel.clients img { filter: none; }

/* Sponsors page: United Supermarkets etc. are navy/red art that needs a light ground */
body.page-id-4853 #ajax-content-wrap .img-with-aniamtion-wrap img,
body.page-id-4853 #ajax-content-wrap .clients img {
  background: var(--laf-panel);
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: 0 0 0 2px var(--laf-cyan), 0 0 20px rgba(0,218,230,.4) !important;
}

/* Homepage festival description: glass panel so the paragraph reads like a sign card */
body .laf-festival-description .wpb_text_column {
  background: rgba(29,17,80,.62);
  border: 1.5px solid rgba(201,160,255,.5);
  border-radius: 20px;
  padding: 28px 34px;
  box-shadow: 0 0 24px rgba(137,0,236,.3), inset 0 0 30px rgba(137,0,236,.12);
}
body .laf-festival-description .wpb_text_column p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------------
   11. Toggles / accordions, tables, quotes (interior pages)
   ------------------------------------------------------------------ */
body .toggles .toggle h3 a,
body .toggles .toggle h3 { color: var(--laf-yellow-core) !important; background: transparent !important; }
body .toggles .toggle {
  border: 1.5px solid rgba(201,160,255,.45);
  border-radius: 12px;
  margin-bottom: 10px;
  background: rgba(29,17,80,.6);
}
body .toggles .toggle > div,
body .toggles .toggle > div > div { background: transparent !important; color: var(--laf-text); }
body .toggles .toggle.open > div { border-top: 1px solid rgba(201,160,255,.3); padding: 4px 8px; }
body .toggles .toggle .toggle-title,
body .toggles .toggle .inner-wrap { background: transparent !important; color: var(--laf-text); }
body .toggles .toggle h3 i,
body .toggles .toggle h3::before { color: var(--laf-cyan) !important; }
body table, body th, body td { border-color: rgba(201,160,255,.35) !important; }
body th { background: rgba(137,0,236,.3) !important; color: #ffffff !important; }
body blockquote, body blockquote p { color: var(--laf-text) !important; }
body blockquote { border-left: 4px solid var(--laf-pink) !important; }

/* Salient fancy-box / horizontal lists / icon boxes keep light text */
body .nectar-fancy-box .box-inner-wrap,
body .nectar-fancy-box .inner { color: var(--laf-text); }
body .nectar_icon_wrap, body .nectar-horizontal-list-item { color: var(--laf-text); }

/* ------------------------------------------------------------------
   12. Popup Maker "Save the Date" splash
   ------------------------------------------------------------------ */
body .pum-container,
body .pum-theme-default-theme .pum-container,
body .pum-container.pum-responsive {
  background: var(--laf-indigo) !important;
  border: 2px solid var(--laf-pink) !important;
  border-radius: 16px !important;
  box-shadow: 0 0 40px rgba(245,4,91,.5), 0 0 90px rgba(137,0,236,.4) !important;
}
body .pum-content, body .pum-content p { color: var(--laf-text) !important; }
body .pum-close, body .popmake-close {
  background: var(--laf-cyan) !important;
  color: var(--laf-ink) !important;
  border-radius: 0 0 0 10px !important;
}
/* Keep the square splash image fully on screen on short viewports (laptops) */
body .pum-content img.size-large,
body .pum-content img {
  width: auto !important;
  max-width: 100% !important;
  max-height: calc(100vh - 56px);
  margin: 0 auto !important;
}
body .pum-container.pum-responsive { width: fit-content !important; max-width: 96vw !important; min-width: 0 !important; padding: 14px !important; }
body .pum-overlay { background: rgba(11,2,29,.82) !important; }

/* ------------------------------------------------------------------
   13. Geometric neon line decorations (never over text)
       Small SVG shapes from ../svg/ sit in the outer margins only and
       are hidden on narrow screens.
   ------------------------------------------------------------------ */
body .container-wrap { position: relative; }
body .container-wrap::before,
body .container-wrap::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background-repeat: no-repeat;
}
body .container-wrap > .container { position: relative; z-index: 1; }
/* top-right: triangle + stripes cluster (echoes the concept ads) */
body .container-wrap::before {
  top: 24px; right: .8vw; width: 96px; height: 170px;
  background-image: url('../svg/neon-triangle-cyan.svg'), url('../svg/neon-stripes.svg');
  background-size: 52px auto, 78px auto;
  background-position: 40px 0, 14px 100px;
  filter: drop-shadow(0 0 6px rgba(0,218,230,.8)) drop-shadow(0 0 14px rgba(245,4,91,.5));
  opacity: .9;
}
/* bottom-left: zigzag + star */
body .container-wrap::after {
  bottom: 40px; left: .8vw; width: 80px; height: 170px;
  background-image: url('../svg/neon-zigzag-cyan.svg'), url('../svg/neon-star-yellow.svg');
  background-size: 48px auto, 26px auto;
  background-position: 0 0, 46px 120px;
  filter: drop-shadow(0 0 6px rgba(0,218,230,.8)) drop-shadow(0 0 12px rgba(255,223,5,.45));
  opacity: .85;
}
/* Homepage: full-width rows would put the page-level cluster over the hero, so
   the homepage gets its own placements instead */
body.home .container-wrap::before,
body.home .container-wrap::after { display: none; }
body .laf-hero, body .laf-info-blocks, body .laf-sponsors { position: relative; }
body .laf-hero { overflow-x: clip; }
body .laf-hero::before,
body .laf-hero::after {
  content: ''; display: block; position: absolute; pointer-events: none; z-index: 0; top: auto; bottom: 14px;
  width: 170px; height: 220px; background-repeat: no-repeat; border-radius: 0; clip-path: none; animation: none; opacity: 1;
}
body .laf-hero::before {
  left: 2.5vw;
  background-image: url('../svg/neon-zigzag-cyan.svg'), url('../svg/neon-circle-pink.svg'), url('../svg/neon-star-cyan.svg');
  background-size: 70px auto, 34px auto, 30px auto;
  background-position: 18px 8px, 100px 150px, 110px 40px;
  filter: drop-shadow(0 0 6px rgba(0,218,230,.85)) drop-shadow(0 0 12px rgba(245,4,91,.45));
}
body .laf-hero::after {
  right: 2.5vw;
  background-image: url('../svg/neon-triangle-yellow.svg'), url('../svg/neon-cross-pink.svg'), url('../svg/neon-dashes-yellow.svg');
  background-size: 62px auto, 30px auto, 64px auto;
  background-position: 70px 6px, 20px 70px, 8px 130px;
  filter: drop-shadow(0 0 6px rgba(255,223,5,.8)) drop-shadow(0 0 12px rgba(245,4,91,.45));
}
@media (max-width: 1100px) {
  body .laf-hero::before, body .laf-hero::after { display: none; }
}
body .laf-info-blocks::before {
  content: ''; position: absolute; pointer-events: none; z-index: 0;
  top: -10px; left: 1.5vw; width: 52px; height: 48px;
  background: url('../svg/neon-triangle-pink.svg') no-repeat center / contain;
  filter: drop-shadow(0 0 6px rgba(245,4,91,.9));
}
body .laf-info-blocks::after {
  content: ''; position: absolute; pointer-events: none; z-index: 0;
  bottom: -6px; right: 2vw; width: 46px; height: 46px;
  background: url('../svg/neon-circle-pink.svg') no-repeat center / contain;
  filter: drop-shadow(0 0 6px rgba(245,4,91,.9));
}
@media (max-width: 1100px) {
  body .container-wrap::before,
  body .container-wrap::after { display: none; }
}
@media (max-width: 767px) {
  body .container-wrap::before,
  body .container-wrap::after,
  body .laf-info-blocks::before,
  body .laf-info-blocks::after { display: none; }
}

/* ------------------------------------------------------------------
   14. Misc surface clean-up
   ------------------------------------------------------------------ */
body .nectar-skip-to-content-wrap a { color: var(--laf-ink); }  /* skip link sits on its own light bg (a11y.css) */
body ::selection { background: var(--laf-pink); color: #ffffff; }
body .scroll-top, body #to-top { background: var(--laf-indigo-2) !important; border: 2px solid var(--laf-cyan); box-shadow: 0 0 12px rgba(0,218,230,.5); }
body #to-top i, body .scroll-top i { color: var(--laf-cyan-core) !important; }

/* ------------------------------------------------------------------
   15. Reduced motion: nothing animates; strip hover motion as well
   ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .wpb_gallery:hover,
  .laf-fg-card:hover,
  #laf-dc .laf-btn:hover,
  #laf-dc .laf-sub-swiper .swiper-slide:hover { transform: none !important; }
}

/* ------------------------------------------------------------------
   Readability: larger body copy (desktop 17px, mobile 16px)
   ------------------------------------------------------------------ */
body #ajax-content-wrap .wpb_text_column p,
body #ajax-content-wrap .wpb_text_column li,
body #ajax-content-wrap .main-content p,
body #ajax-content-wrap .main-content li {
  font-size: 17px;
  line-height: 1.65;
}
@media (max-width: 690px) {
  body #ajax-content-wrap .wpb_text_column p,
  body #ajax-content-wrap .wpb_text_column li,
  body #ajax-content-wrap .main-content p,
  body #ajax-content-wrap .main-content li {
    font-size: 16px;
  }
}

/* Lubbock Lights: space the artist headshot label from the copy above */
.laf-ll-headshot { margin-top: 28px; }
.laf-ll-headshot p { margin-bottom: 8px; }
