/* Oozing UI (animated blobs in images/ooze-ui). Nav links get a wobbling underline on every page;
   .ticket-button gets a black box with the ooze bleeding out from behind it. The home page styles its own
   buttons in home.css, and the admin console keeps its plain buttons. */

/* Nav underlines */
.site-menu .nav-link{--ln:url('images/ooze-ui/line-d.webp');position:relative;border-bottom-color:transparent}
.site-menu .nav-link:nth-child(5n+2){--ln:url('images/ooze-ui/line-a.webp')}
.site-menu .nav-link:nth-child(5n+3){--ln:url('images/ooze-ui/line-e.webp')}
.site-menu .nav-link:nth-child(5n+4){--ln:url('images/ooze-ui/line-b.webp')}
.site-menu .nav-link:nth-child(5n){--ln:url('images/ooze-ui/line-c.webp')}
.site-menu .nav-link::after{content:"";position:absolute;left:-3%;right:-3%;bottom:-5px;height:10px;background:var(--ln) 0 50%/100% 100% no-repeat;opacity:.6;pointer-events:none}
.site-menu .nav-link[aria-current="page"]::after{opacity:1}

/* Buttons */
body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost){position:relative;isolation:isolate;border:0;background:none;box-shadow:none;color:#fffdf8}
body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost)::before{content:"";position:absolute;inset:-12px -16px;z-index:-2;pointer-events:none;background:url('images/ooze-ui/box-lg.webp') 50% 50%/100% 100% no-repeat}
body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost)::after{content:"";position:absolute;inset:0;z-index:-1;box-sizing:border-box;border:2px solid #fffdf8;border-radius:inherit;background:#090909;pointer-events:none;transition:background .2s}
body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost):hover,body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost):focus-visible{background:none;box-shadow:none;color:#090909}
body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost):hover::after,body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost):focus-visible::after{background:#fffdf8}

@media(prefers-reduced-motion:reduce){
  .site-menu .nav-link::after{display:none}
  .site-menu .nav-link{border-bottom-color:rgba(255,255,255,.5)}
  .site-menu .nav-link[aria-current="page"]{border-bottom-color:var(--acid)}
  body:not(.home-page):not(.admin-page) .ticket-button:not(.is-ghost)::before{display:none}
}

/* Gallery buttons: square black box, ooze behind (card CTAs, photo viewer controls, coming-soon links, bridge gallery buttons) */
:is(body.archive-events .gallery-card-copy b,.photo-viewer-controls button,.gallery-coming-soon.gallery-coming-soon a,.bbg-button){position:relative;isolation:isolate;border:0;border-radius:0;background:none;box-shadow:none;color:#fffdf8}
:is(body.archive-events .gallery-card-copy b,.photo-viewer-controls button,.gallery-coming-soon.gallery-coming-soon a,.bbg-button)::before{content:"";position:absolute;inset:-12px -16px;z-index:-2;pointer-events:none;background:url('images/ooze-ui/box-lg.webp') 50% 50%/100% 100% no-repeat}
:is(body.archive-events .gallery-card-copy b,.photo-viewer-controls button,.gallery-coming-soon.gallery-coming-soon a,.bbg-button)::after{content:"";position:absolute;inset:0;z-index:-1;box-sizing:border-box;border:2px solid #fffdf8;background:#090909;pointer-events:none;transition:background .2s}
:is(body.archive-events .gallery-card-copy b,.photo-viewer-controls button,.gallery-coming-soon.gallery-coming-soon a,.bbg-button):is(:hover,:focus-visible),body.archive-events .event-gallery-card:is(:hover,:focus-visible) .gallery-card-copy b{border:0;background:none;box-shadow:none;color:#090909;outline:none}
:is(body.archive-events .gallery-card-copy b,.photo-viewer-controls button,.gallery-coming-soon.gallery-coming-soon a,.bbg-button):is(:hover,:focus-visible)::after,body.archive-events .event-gallery-card:is(:hover,:focus-visible) .gallery-card-copy b::after{background:#fffdf8}
.photo-viewer-controls button[disabled]{opacity:.45}
@media(prefers-reduced-motion:reduce){:is(body.archive-events .gallery-card-copy b,.photo-viewer-controls button,.gallery-coming-soon.gallery-coming-soon a,.bbg-button)::before{display:none}}
