/*
|--------------------------------------------------------------------------
| Strikeshot Web Services - Modern - Glow
|--------------------------------------------------------------------------
|
| Neon remix of Modern - Dark. The shared Modern layout and all functional
| components remain unchanged; this stylesheet supplies the visual identity.
|
*/

:root {
    --glow-cyan: #49f6ff;
    --glow-cyan-soft: rgba(73, 246, 255, .18);
    --glow-pink: #ff45d4;
    --glow-pink-soft: rgba(255, 69, 212, .18);
    --glow-violet: #8d63ff;
    --glow-blue: #3d7dff;
    --glow-green: #5dffbd;
    --glow-amber: #ffd166;
    --glow-amber-deep: #ff9f43;

    --bg: #050711;
    --surface: #0a0f1d;
    --surface-2: #0e1527;
    --surface-3: #131b31;
    --text: #f6fbff;
    --muted: #aebbd0;
    --border: rgba(111, 229, 255, .16);
    --shadow: 0 18px 48px rgba(0, 0, 0, .42);
    --radius: 20px;
}

html {
    background: #050711;
}

body.theme-modern-glow {
    background:
        radial-gradient(circle at 18% 8%, rgba(57, 70, 255, .17), transparent 34rem),
        radial-gradient(circle at 82% 14%, rgba(255, 52, 210, .13), transparent 30rem),
        #050711;
    color: var(--text);
}

body.theme-modern-glow a {
    color: var(--glow-cyan);
}

body.theme-modern-glow a:hover {
    color: #ffffff;
}

/* Header / navigation */
body.theme-modern-glow .site-header {
    background: rgba(4, 7, 16, .88);
    border-bottom: 1px solid rgba(73, 246, 255, .18);
    box-shadow:
        0 10px 34px rgba(0, 0, 0, .42),
        0 1px 0 rgba(255, 69, 212, .08);
    backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
}

body.theme-modern-glow .brand strong,
body.theme-modern-glow .site-nav a,
body.theme-modern-glow .mobile-nav-toggle {
    color: #f8fbff;
}

body.theme-modern-glow .site-nav a {
    position: relative;
    font-weight: 700;
}

body.theme-modern-glow .site-nav a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: -8px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--glow-cyan), var(--glow-pink));
    box-shadow: 0 0 12px rgba(73, 246, 255, .75);
    transition: left .18s ease, right .18s ease;
}

body.theme-modern-glow .site-nav a:hover::after {
    left: 0;
    right: 0;
}

body.theme-modern-glow .brand-mark,
body.theme-modern-glow .nav-cta,
body.theme-modern-glow .btn-primary,
body.theme-modern-glow .mobile-book-now,
body.theme-modern-glow .contact-inquiry-submit,
body.theme-modern-glow .party-book-button,
body.theme-modern-glow .party-inquiry-submit,
body.theme-modern-glow .league-inquiry-toggle,
body.theme-modern-glow .league-inquiry-submit,
body.theme-modern-glow .league-register-button,
body.theme-modern-glow .event-button,
body.theme-modern-glow .arcade-action-button,
body.theme-modern-glow .menu-download-button,
body.theme-modern-glow .tournament-register-button {
    border: 1px solid rgba(255,255,255,.16) !important;
    background:
        linear-gradient(135deg, #13d9ff 0%, #5d63ff 48%, #ff3dcf 100%) !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px rgba(73, 246, 255, .12),
        0 0 24px rgba(67, 120, 255, .28),
        0 10px 28px rgba(0, 0, 0, .30) !important;
}

body.theme-modern-glow .nav-cta:hover,
body.theme-modern-glow .btn-primary:hover,
body.theme-modern-glow .mobile-book-now:hover,
body.theme-modern-glow .contact-inquiry-submit:hover,
body.theme-modern-glow .party-book-button:hover,
body.theme-modern-glow .party-inquiry-submit:hover,
body.theme-modern-glow .league-inquiry-toggle:hover,
body.theme-modern-glow .league-inquiry-submit:hover,
body.theme-modern-glow .league-register-button:hover,
body.theme-modern-glow .event-button:hover,
body.theme-modern-glow .arcade-action-button:hover,
body.theme-modern-glow .menu-download-button:hover,
body.theme-modern-glow .tournament-register-button:hover {
    filter: brightness(1.08) saturate(1.12);
    box-shadow:
        0 0 0 1px rgba(73, 246, 255, .22),
        0 0 30px rgba(73, 246, 255, .32),
        0 0 36px rgba(255, 69, 212, .18),
        0 12px 30px rgba(0, 0, 0, .34) !important;
}

body.theme-modern-glow .btn-secondary,
body.theme-modern-glow .directions-button {
    background: rgba(8, 14, 27, .82) !important;
    color: var(--glow-cyan) !important;
    border: 1px solid rgba(73, 246, 255, .50) !important;
    box-shadow: inset 0 0 22px rgba(73, 246, 255, .06), 0 0 18px rgba(73, 246, 255, .12) !important;
}

body.theme-modern-glow .btn-secondary:hover,
body.theme-modern-glow .directions-button:hover {
    color: #fff !important;
    border-color: rgba(255, 69, 212, .62) !important;
    box-shadow: 0 0 24px rgba(255, 69, 212, .19) !important;
}

/* Hero */
body.theme-modern-glow .hero {
    border-bottom: 1px solid rgba(73, 246, 255, .18);
    background-color: #050711;
}

body.theme-modern-glow .hero::before {
    background:
        linear-gradient(90deg, rgba(3, 5, 14, .94) 0%, rgba(5, 9, 24, .82) 45%, rgba(27, 10, 51, .58) 100%),
        radial-gradient(circle at 76% 32%, rgba(255, 69, 212, .24), transparent 27rem),
        radial-gradient(circle at 66% 75%, rgba(73, 246, 255, .18), transparent 25rem);
}

body.theme-modern-glow .hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--glow-cyan), var(--glow-pink), transparent);
    box-shadow: 0 0 20px rgba(73, 246, 255, .65);
}

body.theme-modern-glow .hero .eyebrow,
body.theme-modern-glow .eyebrow,
body.theme-modern-glow .feature-kicker {
    color: var(--glow-cyan) !important;
    text-shadow: 0 0 14px rgba(73, 246, 255, .42);
}

body.theme-modern-glow .hero h1 {
    color: #ffffff;
    text-shadow:
        0 0 18px rgba(73, 246, 255, .18),
        0 0 36px rgba(255, 69, 212, .13),
        0 8px 26px rgba(0,0,0,.55);
}

/* Neon hero sign */
body.theme-modern-glow .hero .modern-glow-neon-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .03em;
    width: fit-content;
    max-width: 100%;
    margin-top: 10px;
    margin-bottom: 18px;
    font-family: "Trebuchet MS", "Arial Rounded MT Bold", Arial, sans-serif;
    font-size: clamp(3.6rem, 7.4vw, 7.4rem);
    font-weight: 700;
    line-height: .82;
    letter-spacing: .015em;
    text-transform: uppercase;
    color: transparent;
    text-shadow: none;
}

body.theme-modern-glow .modern-glow-neon-line {
    display: block;
    width: fit-content;
    max-width: 100%;
    color: transparent;
    -webkit-text-fill-color: transparent;
    paint-order: stroke fill;
    filter: saturate(1.18);
}

body.theme-modern-glow .modern-glow-neon-line-primary {
    -webkit-text-stroke: 2px #73fbff;
    text-shadow:
        0 0 2px rgba(255,255,255,.98),
        0 0 5px rgba(115,251,255,.98),
        0 0 11px rgba(73,246,255,.92),
        0 0 22px rgba(73,246,255,.70),
        0 0 44px rgba(61,125,255,.48),
        0 8px 28px rgba(0,0,0,.74);
}

body.theme-modern-glow .modern-glow-neon-line-accent {
    -webkit-text-stroke: 2px #ff71de;
    text-shadow:
        0 0 2px rgba(255,255,255,.98),
        0 0 5px rgba(255,113,222,.98),
        0 0 11px rgba(255,69,212,.92),
        0 0 22px rgba(255,69,212,.70),
        0 0 44px rgba(141,99,255,.48),
        0 8px 28px rgba(0,0,0,.74);
}

body.theme-modern-glow .modern-glow-neon-title::after {
    content: "";
    display: block;
    width: min(82%, 390px);
    height: 4px;
    margin-top: .18em;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--glow-cyan), var(--glow-pink));
    box-shadow:
        0 0 7px rgba(73,246,255,.88),
        0 0 16px rgba(73,246,255,.58),
        0 0 24px rgba(255,69,212,.50);
}

body.theme-modern-glow .hero-text {
    color: #d8e4f4;
}

body.theme-modern-glow .pill,
body.theme-modern-glow .hero-meta span {
    background: rgba(5, 13, 28, .58);
    color: #dffcff;
    border: 1px solid rgba(73, 246, 255, .28);
    box-shadow: inset 0 0 18px rgba(73, 246, 255, .05);
}

body.theme-modern-glow .hero-card {
    background:
        linear-gradient(145deg, rgba(12, 19, 37, .91), rgba(17, 13, 39, .88));
    color: var(--text);
    border: 1px solid rgba(73, 246, 255, .30);
    box-shadow:
        0 0 0 1px rgba(255, 69, 212, .08),
        0 0 38px rgba(73, 246, 255, .12),
        0 24px 54px rgba(0, 0, 0, .40);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.theme-modern-glow .hero-card-label {
    background: rgba(73, 246, 255, .10);
    color: var(--glow-cyan);
    border: 1px solid rgba(73, 246, 255, .22);
}

body.theme-modern-glow .hero-card h3 { color: #fff; }
body.theme-modern-glow .hero-card p,
body.theme-modern-glow .hero-card .bullet-list { color: var(--muted); }

/* Announcement + feature strip */
body.theme-modern-glow .announcement-section,
body.theme-modern-glow .feature-strip {
    background:
        radial-gradient(circle at 15% 0%, rgba(73, 246, 255, .08), transparent 24rem),
        radial-gradient(circle at 88% 100%, rgba(255, 69, 212, .08), transparent 25rem),
        #070b16;
}

body.theme-modern-glow .announcement-banner {
    background: linear-gradient(135deg, rgba(13, 24, 46, .94), rgba(31, 13, 48, .90));
    color: var(--text);
    border: 1px solid rgba(255, 69, 212, .27);
    box-shadow: 0 0 26px rgba(255, 69, 212, .10), var(--shadow);
}

body.theme-modern-glow .announcement-label {
    background: rgba(255, 69, 212, .12);
    color: #ff8be5;
}

body.theme-modern-glow .announcement-banner h2 { color: #fff; }
body.theme-modern-glow .announcement-banner p { color: #c7d3e5; }
body.theme-modern-glow .announcement-button {
    background: rgba(5, 11, 24, .72);
    color: var(--glow-cyan);
    border: 1px solid rgba(73, 246, 255, .34);
}

body.theme-modern-glow .feature-card {
    background:
        linear-gradient(145deg, rgba(12, 18, 34, .98), rgba(9, 14, 28, .96)) !important;
    border: 1px solid rgba(73, 246, 255, .16);
    box-shadow: 0 16px 38px rgba(0,0,0,.33);
}

body.theme-modern-glow .feature-card:nth-child(2) {
    border-color: rgba(141, 99, 255, .22);
}

body.theme-modern-glow .feature-card:nth-child(3) {
    border-color: rgba(255, 69, 212, .22);
}

body.theme-modern-glow .feature-card:hover {
    transform: translateY(-4px);
    border-color: rgba(73, 246, 255, .46);
    box-shadow:
        0 0 28px rgba(73, 246, 255, .11),
        0 18px 44px rgba(0,0,0,.38);
}

body.theme-modern-glow .feature-card h3 { color: #fff; }
body.theme-modern-glow .feature-card p { color: var(--muted); }

/* Main sections */
body.theme-modern-glow #hours,
body.theme-modern-glow #parties,
body.theme-modern-glow #menu,
body.theme-modern-glow #tournaments,
body.theme-modern-glow #gallery,
body.theme-modern-glow .gallery-section {
    background:
        radial-gradient(circle at 12% 15%, rgba(73, 246, 255, .055), transparent 22rem),
        #07101b !important;
}

body.theme-modern-glow #bowling,
body.theme-modern-glow #leagues,
body.theme-modern-glow #arcade,
body.theme-modern-glow #events,
body.theme-modern-glow #jobs,
body.theme-modern-glow #contact,
body.theme-modern-glow .contact-section {
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 69, 212, .055), transparent 24rem),
        #080b17 !important;
}

body.theme-modern-glow .section,
body.theme-modern-glow .gallery-section,
body.theme-modern-glow .contact-section {
    border-top: 1px solid rgba(73, 246, 255, .09) !important;
    border-bottom: 1px solid rgba(255, 69, 212, .06) !important;
}

body.theme-modern-glow .section-heading h2,
body.theme-modern-glow .contact-section h2 {
    color: #ffffff;
    text-shadow: 0 0 18px rgba(73, 246, 255, .08);
}

body.theme-modern-glow .section-heading .modern-glow-section-title,
body.theme-modern-glow .contact-section .modern-glow-section-title {
    --section-neon-main: var(--glow-cyan);
    --section-neon-glow: rgba(73, 246, 255, .70);
    --section-neon-depth: rgba(61, 125, 255, .42);
    position: relative;
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 18px;
    padding-bottom: 18px;
    font-family: "Trebuchet MS", "Arial Rounded MT Bold", Arial, sans-serif;
    line-height: .9;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1.6px var(--section-neon-main);
    text-shadow:
        0 0 2px rgba(255,255,255,.98),
        0 0 4px var(--section-neon-main),
        0 0 10px var(--section-neon-glow),
        0 0 20px var(--section-neon-glow),
        0 0 36px var(--section-neon-depth),
        0 8px 24px rgba(0,0,0,.65);
}

body.theme-modern-glow .section-heading .modern-glow-section-title::after,
body.theme-modern-glow .contact-section .modern-glow-section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: min(78%, 240px);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--section-neon-main), transparent 94%);
    box-shadow:
        0 0 8px var(--section-neon-main),
        0 0 18px var(--section-neon-glow);
}

body.theme-modern-glow .section-heading .modern-glow-section-title--cyan,
body.theme-modern-glow .contact-section .modern-glow-section-title--cyan {
    --section-neon-main: #73fbff;
    --section-neon-glow: rgba(115, 251, 255, .72);
    --section-neon-depth: rgba(61, 125, 255, .46);
}

body.theme-modern-glow .section-heading .modern-glow-section-title--pink,
body.theme-modern-glow .contact-section .modern-glow-section-title--pink {
    --section-neon-main: #ff71de;
    --section-neon-glow: rgba(255, 113, 222, .72);
    --section-neon-depth: rgba(141, 99, 255, .42);
}

body.theme-modern-glow .section-heading .modern-glow-section-title--green,
body.theme-modern-glow .contact-section .modern-glow-section-title--green {
    --section-neon-main: #8bff9b;
    --section-neon-glow: rgba(139, 255, 155, .70);
    --section-neon-depth: rgba(93, 255, 189, .42);
}

body.theme-modern-glow .section-heading .modern-glow-section-title--amber,
body.theme-modern-glow .contact-section .modern-glow-section-title--amber {
    --section-neon-main: #ffd166;
    --section-neon-glow: rgba(255, 209, 102, .72);
    --section-neon-depth: rgba(255, 159, 67, .42);
}

body.theme-modern-glow .section-heading p:last-child,
body.theme-modern-glow .section-note,
body.theme-modern-glow .contact-copy {
    color: var(--muted);
}

/* Cards */
body.theme-modern-glow .hours-card,
body.theme-modern-glow .content-card,
body.theme-modern-glow .list-card,
body.theme-modern-glow .contact-card,
body.theme-modern-glow .gallery-item,
body.theme-modern-glow .menu-photo-card,
body.theme-modern-glow .arcade-photo-card {
    background:
        linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(8, 13, 26, .96));
    color: var(--text);
    border: 1px solid rgba(73, 246, 255, .15);
    box-shadow: 0 16px 40px rgba(0,0,0,.34);
}

body.theme-modern-glow .hours-card {
    border-top-color: var(--glow-cyan);
    box-shadow: 0 -1px 0 rgba(73,246,255,.30), 0 16px 40px rgba(0,0,0,.34);
}

body.theme-modern-glow .list-card {
    border-left-color: var(--glow-violet);
}

body.theme-modern-glow .hours-card strong,
body.theme-modern-glow .content-card h3,
body.theme-modern-glow .list-card h3,
body.theme-modern-glow .contact-card strong {
    color: #fff;
}

body.theme-modern-glow .hours-card span,
body.theme-modern-glow .content-card p,
body.theme-modern-glow .list-card p,
body.theme-modern-glow .league-contact,
body.theme-modern-glow .extra-card-meta {
    color: var(--muted);
}

body.theme-modern-glow .content-card,
body.theme-modern-glow .list-card,
body.theme-modern-glow .gallery-item,
body.theme-modern-glow .menu-photo-card,
body.theme-modern-glow .arcade-photo-card {
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.theme-modern-glow .content-card:hover,
body.theme-modern-glow .list-card:hover,
body.theme-modern-glow .gallery-item:hover,
body.theme-modern-glow .menu-photo-card:hover,
body.theme-modern-glow .arcade-photo-card:hover {
    transform: translateY(-3px);
    border-color: rgba(73, 246, 255, .38);
    box-shadow: 0 0 24px rgba(73,246,255,.08), 0 20px 44px rgba(0,0,0,.40);
}

body.theme-modern-glow .price,
body.theme-modern-glow .shoe-price {
    color: var(--glow-cyan);
    text-shadow: 0 0 12px rgba(73, 246, 255, .20);
}

body.theme-modern-glow .price small,
body.theme-modern-glow .pricing-note {
    color: #ff96e8;
}

body.theme-modern-glow .list-meta span,
body.theme-modern-glow .extra-card-chip {
    background: rgba(73, 246, 255, .08);
    color: #bafcff;
    border: 1px solid rgba(73, 246, 255, .16);
}

body.theme-modern-glow .league-contact a,
body.theme-modern-glow .text-link {
    color: var(--glow-cyan);
}

/* Gallery / scrollers */
body.theme-modern-glow .gallery-item,
body.theme-modern-glow .party-graphic,
body.theme-modern-glow .tournament-image,
body.theme-modern-glow .menu-photo-card img,
body.theme-modern-glow .arcade-photo-card img {
    filter: saturate(1.08) contrast(1.02);
}

body.theme-modern-glow .gallery-item:hover,
body.theme-modern-glow .party-graphic:hover,
body.theme-modern-glow .tournament-image-button:hover .tournament-image {
    box-shadow: 0 0 30px rgba(73, 246, 255, .14);
}

body.theme-modern-glow .menu-scroll-arrow,
body.theme-modern-glow .arcade-scroll-arrow,
body.theme-modern-glow .gallery-lightbox-prev,
body.theme-modern-glow .gallery-lightbox-next,
body.theme-modern-glow .menu-lightbox-prev,
body.theme-modern-glow .menu-lightbox-next,
body.theme-modern-glow .arcade-lightbox-prev,
body.theme-modern-glow .arcade-lightbox-next {
    background: rgba(6, 11, 24, .90) !important;
    color: var(--glow-cyan) !important;
    border: 1px solid rgba(73, 246, 255, .28) !important;
    box-shadow: 0 0 20px rgba(73, 246, 255, .10) !important;
}

/* Forms */
body.theme-modern-glow .contact-inquiry-form,
body.theme-modern-glow .party-inquiry-form,
body.theme-modern-glow .league-inquiry-wrap,
body.theme-modern-glow .league-inquiry-intro,
body.theme-modern-glow .league-inquiry-form {
    background: rgba(9, 15, 29, .98) !important;
    color: var(--text) !important;
    border-color: rgba(73, 246, 255, .17) !important;
}

body.theme-modern-glow .league-inquiry-intro h3,
body.theme-modern-glow .league-inquiry-field label,
body.theme-modern-glow .contact-inquiry-field label,
body.theme-modern-glow .party-inquiry-field label {
    color: #eefcff !important;
}

body.theme-modern-glow .league-inquiry-intro > div > p:last-child,
body.theme-modern-glow .league-inquiry-field label span {
    color: var(--muted) !important;
}

body.theme-modern-glow .league-inquiry-field input,
body.theme-modern-glow .league-inquiry-field textarea,
body.theme-modern-glow .contact-inquiry-field input,
body.theme-modern-glow .contact-inquiry-field textarea,
body.theme-modern-glow .contact-inquiry-field select,
body.theme-modern-glow .party-inquiry-field input,
body.theme-modern-glow .party-inquiry-field textarea {
    background: #080d19 !important;
    color: #f6fbff !important;
    border: 1px solid rgba(73, 246, 255, .22) !important;
}

body.theme-modern-glow .league-inquiry-field input:focus,
body.theme-modern-glow .league-inquiry-field textarea:focus,
body.theme-modern-glow .contact-inquiry-field input:focus,
body.theme-modern-glow .contact-inquiry-field textarea:focus,
body.theme-modern-glow .contact-inquiry-field select:focus,
body.theme-modern-glow .party-inquiry-field input:focus,
body.theme-modern-glow .party-inquiry-field textarea:focus {
    border-color: var(--glow-cyan) !important;
    box-shadow: 0 0 0 3px rgba(73, 246, 255, .10), 0 0 20px rgba(73, 246, 255, .08) !important;
}

/* Footer */
body.theme-modern-glow .site-footer {
    background:
        radial-gradient(circle at 20% 0%, rgba(73, 246, 255, .07), transparent 24rem),
        radial-gradient(circle at 82% 100%, rgba(255, 69, 212, .07), transparent 24rem),
        #040711;
    border-top: 1px solid rgba(73, 246, 255, .16);
    color: var(--muted);
}

body.theme-modern-glow .site-footer strong,
body.theme-modern-glow .site-footer h3,
body.theme-modern-glow .site-footer h4 {
    color: #fff;
}

body.theme-modern-glow .site-footer a {
    color: #c7faff;
}

body.theme-modern-glow .site-footer a:hover {
    color: #ff8fe5;
}

/* Mobile */
body.theme-modern-glow .mobile-site-menu {
    background: rgba(5, 8, 18, .98);
    border-top: 1px solid rgba(73, 246, 255, .16);
    box-shadow: 0 18px 40px rgba(0,0,0,.48);
}

body.theme-modern-glow .mobile-site-menu a {
    color: #edfaff;
    border-color: rgba(73, 246, 255, .08);
}

@media (max-width: 760px) {
    body.theme-modern-glow .site-header {
        background: rgba(4, 7, 16, .96);
    }

    body.theme-modern-glow .hero-card {
        box-shadow: 0 0 24px rgba(73,246,255,.09), 0 18px 40px rgba(0,0,0,.38);
    }

    body.theme-modern-glow .hero .modern-glow-neon-title {
        font-size: clamp(3rem, 15vw, 5rem);
        line-height: .86;
        letter-spacing: .01em;
    }

    body.theme-modern-glow .modern-glow-neon-line-primary,
    body.theme-modern-glow .modern-glow-neon-line-accent {
        -webkit-text-stroke-width: 1.5px;
    }

    body.theme-modern-glow .section-heading .modern-glow-section-title,
    body.theme-modern-glow .contact-section .modern-glow-section-title {
        -webkit-text-stroke-width: 1.2px;
        padding-bottom: 14px;
    }
}



/*
|--------------------------------------------------------------------------
| Section-matched card glows
|--------------------------------------------------------------------------
|
| Each section inherits the same neon colour as its rotating section title.
| The :has() selector reads the title's palette class and exposes matching
| card variables to every card inside that section.
|
*/

body.theme-modern-glow .section:has(.modern-glow-section-title--cyan) {
    --section-card-neon: #73fbff;
    --section-card-border: rgba(115, 251, 255, .50);
    --section-card-glow: rgba(115, 251, 255, .18);
    --section-card-glow-strong: rgba(115, 251, 255, .28);
}

body.theme-modern-glow .section:has(.modern-glow-section-title--pink) {
    --section-card-neon: #ff71de;
    --section-card-border: rgba(255, 113, 222, .50);
    --section-card-glow: rgba(255, 113, 222, .18);
    --section-card-glow-strong: rgba(255, 113, 222, .28);
}

body.theme-modern-glow .section:has(.modern-glow-section-title--green) {
    --section-card-neon: #8bff9b;
    --section-card-border: rgba(139, 255, 155, .50);
    --section-card-glow: rgba(139, 255, 155, .18);
    --section-card-glow-strong: rgba(139, 255, 155, .28);
}

body.theme-modern-glow .section:has(.modern-glow-section-title--amber) {
    --section-card-neon: #ffd166;
    --section-card-border: rgba(255, 209, 102, .50);
    --section-card-glow: rgba(255, 209, 102, .18);
    --section-card-glow-strong: rgba(255, 209, 102, .28);
}

/* Main content cards and card-like panels */
body.theme-modern-glow .section .hours-card,
body.theme-modern-glow .section .hours-compact-group,
body.theme-modern-glow .section .content-card,
body.theme-modern-glow .section .list-card,
body.theme-modern-glow .section .contact-card,
body.theme-modern-glow .section .gallery-item,
body.theme-modern-glow .section .menu-photo-card,
body.theme-modern-glow .section .arcade-photo-card {
    border-color: var(--section-card-border, rgba(73, 246, 255, .22)) !important;
    box-shadow:
        0 0 0 1px var(--section-card-glow, rgba(73, 246, 255, .12)),
        0 0 18px var(--section-card-glow, rgba(73, 246, 255, .12)),
        0 16px 40px rgba(0, 0, 0, .34) !important;
}

/* Preserve thicker accent edges while matching their colour to the section. */
body.theme-modern-glow .section .hours-card,
body.theme-modern-glow .section .hours-compact-group {
    border-top-color: var(--section-card-neon, var(--glow-cyan)) !important;
}

body.theme-modern-glow .section .list-card,
body.theme-modern-glow #jobs .job-list-card {
    border-left-color: var(--section-card-neon, var(--glow-cyan)) !important;
}

body.theme-modern-glow #tournaments .content-card,
body.theme-modern-glow #arcade .content-card,
body.theme-modern-glow #menu .content-card,
body.theme-modern-glow #jobs .content-card {
    border-top-color: var(--section-card-neon, var(--glow-cyan)) !important;
}

/* A little more glow when an interactive card is hovered/focused. */
body.theme-modern-glow .section .content-card:hover,
body.theme-modern-glow .section .list-card:hover,
body.theme-modern-glow .section .gallery-item:hover,
body.theme-modern-glow .section .menu-photo-card:hover,
body.theme-modern-glow .section .arcade-photo-card:hover,
body.theme-modern-glow .section .content-card:focus-within,
body.theme-modern-glow .section .list-card:focus-within,
body.theme-modern-glow .section .gallery-item:focus-within,
body.theme-modern-glow .section .menu-photo-card:focus-within,
body.theme-modern-glow .section .arcade-photo-card:focus-within {
    border-color: var(--section-card-neon, var(--glow-cyan)) !important;
    box-shadow:
        0 0 0 1px var(--section-card-border, rgba(73, 246, 255, .35)),
        0 0 28px var(--section-card-glow-strong, rgba(73, 246, 255, .22)),
        0 20px 44px rgba(0, 0, 0, .40) !important;
}



/*
|--------------------------------------------------------------------------
| Modern - Glow Jobs + Events buttons
|--------------------------------------------------------------------------
|
| Shared Jobs/Events components define their own red primary-button styles
| later in the page. These theme-specific selectors intentionally have higher
| specificity so the Modern - Glow neon button treatment wins.
|
*/

body.theme-modern-glow #jobs a.js-job-apply,
body.theme-modern-glow #jobs .js-job-apply,
body.theme-modern-glow #events .event-list-meta > a.event-button,
body.theme-modern-glow #events a.event-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    height: 42px !important;
    box-sizing: border-box !important;
    padding: 0 18px !important;
    margin-top: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(
            135deg,
            #13d9ff 0%,
            #5d63ff 48%,
            #ff3dcf 100%
        ) !important;
    color: #ffffff !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow:
        0 0 0 1px rgba(73,246,255,.12),
        0 0 24px rgba(67,120,255,.28),
        0 10px 28px rgba(0,0,0,.30) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition:
        filter .18s ease,
        transform .18s ease,
        box-shadow .18s ease !important;
}

body.theme-modern-glow #jobs a.js-job-apply:hover,
body.theme-modern-glow #jobs a.js-job-apply:focus-visible,
body.theme-modern-glow #jobs .js-job-apply:hover,
body.theme-modern-glow #jobs .js-job-apply:focus-visible,
body.theme-modern-glow #events .event-list-meta > a.event-button:hover,
body.theme-modern-glow #events .event-list-meta > a.event-button:focus-visible,
body.theme-modern-glow #events a.event-button:hover,
body.theme-modern-glow #events a.event-button:focus-visible {
    color: #ffffff !important;
    text-decoration: none !important;
    filter: brightness(1.08) saturate(1.12) !important;
    transform: translateY(-1px);
    box-shadow:
        0 0 0 1px rgba(73,246,255,.22),
        0 0 30px rgba(73,246,255,.32),
        0 0 36px rgba(255,69,212,.18),
        0 12px 30px rgba(0,0,0,.34) !important;
}

body.theme-modern-glow #jobs a.js-job-apply:visited,
body.theme-modern-glow #events a.event-button:visited {
    color: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
    body.theme-modern-glow .site-nav a::after,
    body.theme-modern-glow .feature-card,
    body.theme-modern-glow .content-card,
    body.theme-modern-glow .list-card,
    body.theme-modern-glow .gallery-item,
    body.theme-modern-glow .menu-photo-card,
    body.theme-modern-glow .arcade-photo-card {
        transition: none !important;
    }
}
