/* Shared public-site presentation. All rules exclude Voyager and printed tickets. */
@media screen {
  body.nightlife-theme { --night-heading: #f5ebdd; }
  body.nightlife-theme .nightlife-botanicals { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
  body.nightlife-theme .nightlife-botanicals span { position: absolute; display: block; width: 36px; height: 36px; opacity: .12; animation: nightlife-float 18s ease-in-out infinite alternate; background-repeat: no-repeat; background-position: center; background-size: contain; }
  body.nightlife-theme .nightlife-heart { background-image: url('../images/nightlife-heart.svg'); }
  body.nightlife-theme .nightlife-flower { background-image: url('../images/nightlife-flower.svg'); }
  body.nightlife-theme .nightlife-petal { background: #c5a263; border-radius: 80% 0 80% 0; width: 12px !important; height: 22px !important; }
  body.nightlife-theme .nightlife-botanicals span:nth-child(1) { left: 2%; top: 16%; }
  body.nightlife-theme .nightlife-botanicals span:nth-child(2) { right: 2%; top: 32%; width: 55px; height: 55px; animation-delay: -6s; }
  body.nightlife-theme .nightlife-botanicals span:nth-child(3) { right: 4%; top: 76%; animation-delay: -11s; }
  body.nightlife-theme .nightlife-botanicals span:nth-child(4) { left: 3%; top: 84%; animation-delay: -3s; }
  body.nightlife-theme .nightlife-botanicals span:nth-child(5) { left: 6%; top: 52%; animation-delay: -9s; }
  body.nightlife-theme .nightlife-botanicals span:nth-child(6) { right: 7%; top: 8%; animation-delay: -14s; }
  @keyframes nightlife-float { from { transform: translateY(12px) rotate(-12deg); } to { transform: translateY(-35px) rotate(18deg); } }
  body.nightlife-theme :is(h1,h2) { letter-spacing: -.045em; font-weight: 800; line-height: 1.08; text-wrap: balance; }
  body.nightlife-theme h1 { font-size: clamp(2.1rem,5vw,4.8rem); overflow-wrap: anywhere; }
  body.nightlife-theme h2 { font-size: clamp(1.8rem,3.6vw,3.4rem); }
  body.nightlife-theme :is(.quillWrapper,.ql-editor) { line-height: 1.8; }
  body.nightlife-theme .btn { border-radius: .45rem; }
  body.nightlife-theme .btn-primary { box-shadow: inset 0 1px #ffffff18; }
  body.nightlife-theme #navbar_vue.nav-header,
  body.nightlife-theme #navbar_vue.nav-header.menu-fixed {
    position: sticky !important; top: 0 !important; inset-inline: 0;
    margin: 0 !important; transform: none !important; animation: none !important;
    z-index: 999; border-bottom: 1px solid #c5a26324;
  }
  html:has(body.nightlife-theme) { scroll-padding-top: calc(var(--nightlife-header-height, 72px) + 16px); }
  body.nightlife-theme #eventmie_app { display: flow-root; }
  body.nightlife-theme .nightlife-event-detail > .mt-7 { margin-top: 0 !important; }
  body.nightlife-theme #buy-tickets,body.nightlife-theme #nightlife-story { scroll-margin-top: calc(var(--nightlife-header-height, 72px) + 16px); }
  body.nightlife-theme .nav-header .navbar-brand { max-width: calc(100% - 48px); }
  body.nightlife-theme .nav-header .navbar-brand span { overflow-wrap: anywhere; }
  body.nightlife-theme .nightlife-announcement { display: flex; align-items: stretch; min-height: 38px; overflow: hidden; background: #c5a263; color: #21151c; border-bottom: 1px solid #efd3a0; }
  body.nightlife-theme .nightlife-announcement-icon { position: relative; z-index: 2; display: grid; place-items: center; flex: 0 0 46px; background: #a98443; color: #100c10; box-shadow: 8px 0 18px #100c1030; }
  body.nightlife-theme .nightlife-announcement-window { min-width: 0; flex: 1; overflow: hidden; }
  body.nightlife-theme .nightlife-announcement-track { display: flex; width: max-content; min-height: 38px; align-items: center; animation: nightlife-announcement 24s linear infinite; will-change: transform; }
  body.nightlife-theme .nightlife-announcement-track > span { flex: 0 0 auto; min-width: max(100vw,760px); padding: .55rem 3rem; text-align: center; white-space: nowrap; font-weight: 800; letter-spacing: .015em; }
  @keyframes nightlife-announcement { to { transform: translateX(-50%); } }
  body.nightlife-theme .nightlife-hero { position: relative; min-height: min(780px,90svh); display: flex; align-items: center; background: linear-gradient(90deg,#100c10ee 12%,#100c1080 75%),url('../images/nightlife-date-cinema.png') center/cover; padding: clamp(8rem,15vw,12rem) 0 5rem; }
  body.nightlife-theme .nightlife-hero-content { position: relative; }
  body.nightlife-theme .nightlife-hero h1 { max-width: 15ch; font-size: clamp(2.8rem,8vw,7.2rem); margin-bottom: 1.5rem; line-height: .98; }
  body.nightlife-theme .nightlife-hero h1 span { display: block; color: #e8cc99; }
  body.nightlife-theme .nightlife-hero p { max-width: 38rem; color: #e0d1d8; font-size: clamp(1rem,1.5vw,1.2rem); line-height: 1.7; }
  body.nightlife-theme .nightlife-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
  body.nightlife-theme .nightlife-hero-actions .btn { white-space: normal; }
  body.nightlife-theme .nightlife-marquee { overflow: hidden; border-block: 1px solid #c5a26366; background: #781f3d; color: #f5ebdd; padding-block: 1rem; }
  body.nightlife-theme .nightlife-marquee-track { display: flex; width: max-content; animation: nightlife-marquee var(--nightlife-marquee-duration,32s) linear infinite; }
  body.nightlife-theme .nightlife-marquee-group { display: flex; flex: 0 0 auto; }
  body.nightlife-theme .nightlife-marquee-track > span,
  body.nightlife-theme .nightlife-marquee-group > span { flex-shrink: 0; white-space: nowrap; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding-inline-end: 2rem; }
  body.nightlife-theme .nightlife-marquee-items { display: inline-flex; align-items: center; gap: clamp(2rem,5vw,5rem); }
  body.nightlife-theme .nightlife-marquee-items b { display: inline-flex; align-items: center; gap: .7rem; color: #f5ebdd; margin: 0; }
  body.nightlife-theme .nightlife-marquee-items i { display: inline-grid; place-items: center; width: 1.4em; color: #e8cc99; font-size: 1rem; }
  @keyframes nightlife-marquee { to { transform: translateX(-50%); } }
  body.nightlife-theme .nightlife-managed-banners { margin-top: 0; }
  body.nightlife-theme .nightlife-event-section { padding-block: clamp(2.5rem,5vw,5rem) !important; }
  body.nightlife-theme .nightlife-event-section > .container > .row:first-child h5 { font-size: clamp(1.6rem,3.5vw,3rem); letter-spacing: -.04em; font-weight: 800; }
  body.nightlife-theme .nightlife-event-section > .container > .row:first-child { margin-bottom: 1.5rem; align-items: center; }
  body.nightlife-theme :is(.category-card,.venue-card,div:has(> .position-relative > .card-top),.nightlife-experience-grid article) { transition: box-shadow .3s ease,transform .3s ease; }
  body.nightlife-theme :is(.category-card,.venue-card,div:has(> .position-relative > .card-top)):hover { transform: translateY(-4px); box-shadow: 0 12px 30px #00000055,0 0 18px #c5a26320; }
  body.nightlife-theme .nightlife-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem,5vw,5rem); padding-block: clamp(3rem,7vw,6rem); scroll-margin-top: 6rem; }
  body.nightlife-theme .nightlife-story h2 span { color: #e8cc99; }
  body.nightlife-theme .nightlife-story p { color: #c5b4bd; line-height: 1.8; }
  body.nightlife-theme .nightlife-story-picture { min-height: 28rem; border-radius: 1rem; border: 1px solid #c5a26380; background: linear-gradient(#100c1010,#100c1040),url('../images/nightlife-community-garden.png') center/cover; }
  body.nightlife-theme .nightlife-experiences { padding-bottom: clamp(3rem,6vw,6rem); }
  body.nightlife-theme .nightlife-experience-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; margin-top: 2rem; }
  body.nightlife-theme .nightlife-experience-grid article { border: 1px solid #59434d; border-radius: 1rem; padding: clamp(1.4rem,3vw,2.5rem); background: linear-gradient(135deg,#302029,#21151c); }
  body.nightlife-theme .nightlife-experience-grid article > i { font-size: 1.6rem; color: #e8cc99; margin-bottom: 1.5rem; }
  body.nightlife-theme .nightlife-experience-grid p { color: #c5b4bd; line-height: 1.75; }
  body.nightlife-theme .nightlife-event-hero { position: relative; border-bottom: 1px solid #c5a26344; }
  body.nightlife-theme .nightlife-event-hero > .row > .bg-dark-p3 { background: linear-gradient(115deg,#100c10ed,#100c10c9) !important; }
  body.nightlife-theme .nightlife-event-hero h1 { max-width: 20ch; font-size: clamp(2.2rem,5vw,4.5rem); }
  body.nightlife-theme .nightlife-event-hero img { box-shadow: 0 15px 50px #00000055; }
  body.nightlife-theme .nightlife-event-detail #buy-tickets { scroll-margin-top: 6rem; margin-top: 2rem; }
  body.nightlife-theme .nightlife-event-detail .scrollEvent { position: static !important; width: auto !important; opacity: 1 !important; }
  body.nightlife-theme .nightlife-event-overview { margin-bottom: 2rem; }
  body.nightlife-theme #overview-content { line-height: 1.55; }
  body.nightlife-theme #overview-content p { margin: 0 !important; line-height: 1.55; }
  body.nightlife-theme #overview-content p:empty,
  body.nightlife-theme #overview-content p:has(> br:only-child) { display: block; min-height: .85rem; height: .85rem; font-size: 0; line-height: .85rem; }
  body.nightlife-theme #overview-content :is(ul,ol) { margin: .35rem 0 1rem; padding-inline-start: 1.4rem; }
  body.nightlife-theme #overview-content li + li { margin-top: .3rem; }
  body.nightlife-theme .css-accordion-item { border: 1px solid #59434d; border-radius: .7rem; overflow: hidden; margin-bottom: 1rem; }
  body.nightlife-theme .css-accordion-label { padding: 1.2rem; font-weight: 600; }
  body.nightlife-theme .css-accordion-label::after { color: #e8cc99; }
  body.nightlife-theme .cozy-event-faqs { grid-column: 1 / -1; width: 100%; min-width: 0; margin-top: clamp(1.5rem,3vw,2.5rem); padding: clamp(1rem,2.5vw,2rem); border: 1px solid #c5a26366; border-radius: 1rem; background: linear-gradient(145deg,#21151c,#170f14); }
  body.nightlife-theme .nightlife-event-overview:has(> .cozy-event-faqs) > .css-accordion-item:first-child { grid-column: 1 / -1; }
  body.nightlife-theme .cozy-event-faqs > h2 { margin: 0 0 1.25rem; color: #f5ebdd; font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 800; letter-spacing: -.025em; }
  body.nightlife-theme .cozy-event-faq-list { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; }
  body.nightlife-theme .cozy-event-faq-list .css-accordion-item { width: 100%; min-width: 0; margin: 0; }
  body.nightlife-theme .cozy-event-faq-list .css-accordion-label { display: block; width: 100%; padding: 1rem 3rem 1rem 1.1rem; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
  body.nightlife-theme .cozy-event-faq-list .css-accordion-content { padding-inline: 1.1rem; }
  body.nightlife-theme .cozy-event-faq-list .css-accordion-content p { margin-bottom: 0; line-height: 1.75; }
  body.nightlife-theme #buy-tickets form:has(input[name="ticket_id[]"]) .list-group-item { border-color: #c5a26380 !important; padding: 1.2rem; }
  body.nightlife-theme #buy-tickets .ticket-selected-text { color: #e8cc99 !important; }
  body.nightlife-theme #buy-tickets input[name="quantity[]"],
  body.nightlife-theme #buy-tickets select[name="quantity[]"] { min-width: 4.5rem; }
  body.nightlife-theme :is(.login-wrapper,.dashboard-content) .card { border: 1px solid #59434d !important; }
  body.nightlife-theme section.bg-gradient:has(.breadcrumb) { border-bottom: 1px solid #c5a26344; padding-bottom: 2rem; }
  body.nightlife-theme section.bg-gradient:has(.breadcrumb) h2 { font-size: clamp(2rem,5vw,4.5rem); }
  body.nightlife-theme form.needs-validation:has(input[name="name"]):has(textarea) { padding: clamp(1rem,3vw,2.5rem); background: #21151c; border: 1px solid #59434d; border-radius: 1rem; }
  body.nightlife-theme .db-wrapper > main > section p { line-height: 1.8; }
  body.nightlife-theme #buy-tickets .btn-success { background-color: #781f3d; border-color: #c5a263; color: #f5ebdd; }
  body.nightlife-theme #buy-tickets .btn-success:hover { background-color: #942e50; }
  body.nightlife-theme .footer { position: relative; border-top: 1px solid #c5a26355; }
  body.nightlife-theme .footer::before { content: ''; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg,#781f3d,#c5a263,#781f3d); background-size: 200% 100%; animation: nightlife-footer 9s linear infinite; pointer-events: none; }
  @keyframes nightlife-footer { to { background-position: 200% 0; } }
  body.nightlife-theme .nightlife-reveal { animation: nightlife-arrive .7s ease both; }
  @keyframes nightlife-arrive { from { opacity: .35; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
  @media (min-width: 1200px) {
    /* Reuse the live Vue cart: selection left, totals/payment right. */
    body.nightlife-theme #buy-tickets form:has(input[name="ticket_id[]"]) > div { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); column-gap: 2rem; align-items: start; }
    body.nightlife-theme #buy-tickets form:has(input[name="ticket_id[]"]) > div > .row { grid-column: 1 / -1; }
    body.nightlife-theme #buy-tickets form > div > .row:has(input[name="ticket_id[]"]) { grid-column: 1; grid-row: 2 / span 8; }
    body.nightlife-theme #buy-tickets form > div > .row:has(input[name="ticket_id[]"]) ~ .row { grid-column: 2; }
    body.nightlife-theme .nightlife-event-overview { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 1.5rem; align-items: start; }
    body.nightlife-theme .nightlife-event-overview > :not(.css-accordion-item:nth-child(-n+2)) { grid-column: 1 / -1; }
  }
  @media (min-width: 768px) {
    body.nightlife-theme .nightlife-event-section .row > [class*="col-"]:only-child:has(.card-top) { max-width: 560px; width: 100%; }
  }
  @media (max-width: 767px) {
    body.nightlife-theme .nightlife-story,body.nightlife-theme .nightlife-experience-grid { grid-template-columns: minmax(0,1fr); }
    body.nightlife-theme .nightlife-story-picture { min-height: 19rem; }
    body.nightlife-theme .nightlife-botanicals span:nth-child(n+3) { display: none; }
    body.nightlife-theme .nightlife-botanicals span { opacity: .08; }
    body.nightlife-theme .nightlife-hero { min-height: 36rem; background-position: 65% center; }
    body.nightlife-theme .nightlife-event-hero h1 { margin-inline: auto; }
    body.nightlife-theme .nightlife-event-section .row > [class*="col-"]:only-child:has(.card-top) { width: 100%; max-width: 440px; margin-inline: auto; }
    body.nightlife-theme #buy-tickets .list-group-item .d-flex-wrap { flex-wrap: wrap; gap: .75rem; }
    body.nightlife-theme #buy-tickets .list-group-item .w-40 { width: calc(100% - 6rem); }
    body.nightlife-theme #buy-tickets .list-group-item .w-20 { width: 5rem; }
    body.nightlife-theme .cozy-event-faqs { padding: 1rem; }
  }
  body.nightlife-theme .nightlife-city { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(1.5rem,4vw,4rem); align-items: center; padding-block: clamp(2.5rem,6vw,5rem); }
  body.nightlife-theme .nightlife-city-visual { overflow: hidden; border: 1px solid #c5a263; border-radius: 1.2rem; background: #21151c; aspect-ratio: 4 / 3; }
  body.nightlife-theme .nightlife-city-visual img { display: block; width: 100%; height: 100%; object-fit: cover; animation: nightlife-city-drift 18s ease-in-out infinite alternate; }
  body.nightlife-theme .nightlife-city h2 span { display: block; color: #e8cc99; animation: nightlife-city-color 8s ease-in-out infinite; }
  body.nightlife-theme .nightlife-city-copy > p { color: #c5b4bd; line-height: 1.75; }
  body.nightlife-theme .nightlife-city-names { display: flex; flex-wrap: wrap; gap: .65rem; list-style: none; padding: 0; margin: 1.5rem 0; }
  body.nightlife-theme .nightlife-city-names li { border: 1px solid #59434d; border-radius: 2rem; padding: .6rem .9rem; background: #21151c; font-weight: 700; color: #e8cc99; animation: nightlife-city-color 8s ease-in-out infinite; overflow-wrap: anywhere; }
  body.nightlife-theme .nightlife-city-names li:nth-child(2n) { animation-delay: -3s; }
  body.nightlife-theme .nightlife-city-names li:nth-child(3n) { animation-delay: -5s; }
  body.nightlife-theme .nightlife-city-copy .nightlife-city-signoff { color: #f5ebdd; font-weight: 700; }
  body.nightlife-theme .nightlife-venue-cta { display: inline-flex; align-items: center; gap: 1.4rem; border-color: #c5a263 !important; animation: nightlife-venue-glow 5s ease-in-out infinite; }
  body.nightlife-theme .nightlife-venue-cta i { display: inline-grid; place-items: center; width: 1.2em; transition: transform .3s ease; }
  body.nightlife-theme .nightlife-venue-cta:is(:hover,:focus-visible) i { transform: translateX(4px); }
  @keyframes nightlife-city-drift { from { transform: scale(1); } to { transform: scale(1.06); } }
  @keyframes nightlife-city-color { 0%,100% { color: #e8cc99; } 40% { color: #f5ebdd; } 70% { color: #e4a8bf; } }
  @keyframes nightlife-venue-glow { 0%,100% { box-shadow: 0 0 0 0 #c5a26300; } 50% { box-shadow: 0 0 20px 2px #c5a26330; } }
  /* Event cards share this exact structure on homepage and listing views. */
  body.nightlife-theme div:has(> .position-relative > .card-top) { border-radius: 1rem; background: linear-gradient(145deg,#302029,#21151c 65%); outline-color: #c5a263a0; box-shadow: 0 8px 28px #00000040; }
  body.nightlife-theme div:has(> .position-relative > .card-top) > .rounded-bottom { padding: clamp(.8rem,1.5vw,1.25rem); }
  body.nightlife-theme div:has(> .position-relative > .card-top) .card-top { border-radius: 1rem 1rem 0 0 !important; padding: .55rem .65rem !important; background: linear-gradient(100deg,#781f3d,#482233) !important; }
  body.nightlife-theme div:has(> .position-relative > .card-top) .thumb-img-bg { overflow: hidden; }
  body.nightlife-theme div:has(> .position-relative > .card-top) .thumb-img { transition: transform .65s ease; }
  body.nightlife-theme div:has(> .position-relative > .card-top):is(:hover,:focus-within) { outline-color: #e8cc99; box-shadow: 0 14px 32px #00000060,0 0 16px #c5a26325; }
  body.nightlife-theme div:has(> .position-relative > .card-top):hover .thumb-img { transform: scale(1.035); }
  body.nightlife-theme div:has(> .position-relative > .card-top) .card-category { color: #e4b7c6; margin-bottom: .4rem; }
  body.nightlife-theme div:has(> .position-relative > .card-top) h6 { line-height: 1.45 !important; }
  body.nightlife-theme div:has(> .position-relative > .card-top) .card-venue { margin-top: .6rem; font-size: .85rem; }
  body.nightlife-theme div:has(> .position-relative > .card-top) .card-hr { opacity: .65; border-color: #c5a26366; }
  body.nightlife-theme #buy-tickets li:has(input[name="ticket_id[]"]) { background: linear-gradient(120deg,#302029,#21151c); border-radius: .85rem !important; border-inline-start: 3px solid #c5a263 !important; transition: box-shadow .3s ease,border-color .3s ease; }
  body.nightlife-theme #buy-tickets li:has(input[name="ticket_id[]"]):is(:hover,:focus-within) { box-shadow: 0 0 20px #c5a26320; border-color: #e8cc99 !important; }
  @media (max-width: 767px) {
    body.nightlife-theme .nightlife-announcement-track > span { min-width: calc(100vw - 46px); padding-inline: 1.5rem; font-size: .82rem; }
    body.nightlife-theme .nightlife-city { grid-template-columns: minmax(0,1fr); }
    body.nightlife-theme .nightlife-city-visual img { animation: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    body.nightlife-theme :is(.nightlife-city-visual img,.nightlife-city h2 span,.nightlife-city-names li,.nightlife-venue-cta) { animation: none; }
    body.nightlife-theme .nightlife-venue-cta i,body.nightlife-theme div:has(> .position-relative > .card-top) .thumb-img { transition: none; transform: none !important; }
    body.nightlife-theme :is(.nightlife-botanicals span,.nightlife-marquee-track,.nightlife-announcement-track,.nightlife-reveal),body.nightlife-theme .footer::before { animation: none !important; }
    body.nightlife-theme .nightlife-announcement-track { width: 100%; }
    body.nightlife-theme .nightlife-announcement-track > span { min-width: 0; width: 100%; padding-inline: 1rem; white-space: normal; }
    body.nightlife-theme .nightlife-announcement-track > span + span { display: none; }
    body.nightlife-theme .nightlife-marquee-track { width: 100%; }
    body.nightlife-theme .nightlife-marquee-track > span { white-space: normal; text-align: center; }
    body.nightlife-theme .nightlife-marquee-track > span + span { display: none; }
    body.nightlife-theme .nightlife-marquee-group { width: 100%; }
    body.nightlife-theme .nightlife-marquee-group > span { white-space: normal; text-align: center; }
    body.nightlife-theme .nightlife-marquee-group + .nightlife-marquee-group,
    body.nightlife-theme .nightlife-marquee-group > span + span { display: none; }
    body.nightlife-theme :is(.category-card,.venue-card,div:has(> .position-relative > .card-top)):hover { transform: none; }
  }
}

@media screen and (max-width:991.98px) {
  body.nightlife-theme #navbar_vue { width:100%; height:auto!important; padding-top:0!important; }
  body.nightlife-theme #navbar_vue .navbar { min-height:56px; flex-wrap:wrap; }
  body.nightlife-theme #navbar_vue .navbar-collapse { position:static!important; flex-basis:100%; width:100%; margin:0!important; max-height:calc(100dvh - var(--nightlife-header-bar-height,64px)); overflow-y:auto; overscroll-behavior:contain; }
  body.nightlife-theme #navbar_vue .navbar-collapse:not(.show) { display:none!important; }
  body.nightlife-theme #navbar_vue .navbar-collapse.show { display:block!important; }
  body.nightlife-theme #navbar_vue .navbar-brand { min-width:0; }
  body.nightlife-theme #navbar_vue .navbar-brand img { max-width:96px; object-fit:contain; flex-shrink:1; }
  body.nightlife-theme #navbar_vue .navbar-brand span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media screen and (prefers-reduced-motion:reduce) {
  body.nightlife-theme .infinite-carousel-track { animation:none!important; }
  body.nightlife-theme :has(> .infinite-carousel-track) { overflow-x:auto!important; }
}

body.nightlife-theme .cozy-event-video {
  position: relative;
  width: min(100%, 500px);
  aspect-ratio: 16 / 9;
  margin: .8rem 0 1rem;
  overflow: hidden;
  border: 1px solid #c5a263;
  border-radius: 1rem;
  background: #100c10;
  box-shadow: 0 10px 28px #0008, 0 0 18px #c5a26322;
}
body.nightlife-theme .cozy-footer-socials { display:flex; flex-wrap:wrap; gap:.55rem; margin:0; }
body.nightlife-theme .cozy-footer-socials li { margin:0; }
body.nightlife-theme .cozy-footer-social {
  display:inline-grid; place-items:center; width:2.35rem; height:2.35rem; padding:0;
  border:1px solid #c5a26388; border-radius:50%; color:#f5ebdd !important;
  background:#21151c; font-size:1rem; line-height:1; transition:transform .2s ease,border-color .2s ease,background-color .2s ease;
}
body.nightlife-theme .cozy-footer-social:is(:hover,:focus-visible) { transform:translateY(-2px); border-color:#e8cc99; background:#781f3d; }
body.nightlife-theme .cozy-event-video video { display:block; width:100%; height:100%; object-fit:contain; background:#090709; }
body.nightlife-theme .cozy-event-video-play {
  position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%);
  display:grid; place-items:center; width:3.6rem; height:3.6rem; padding:0;
  border:1px solid #f0d69f; border-radius:50%; color:#f5ebdd;
  background:linear-gradient(145deg,#9b2c52,#781f3d); box-shadow:0 0 0 7px #100c1077,0 0 24px #c5a26366;
  z-index:2; cursor:pointer;
}
body.nightlife-theme .cozy-event-video-play[hidden] { display:none; }
body.nightlife-theme .cozy-event-video-play i { margin-left:.18rem; }
body.nightlife-theme .cozy-event-video-fullscreen {
  position:absolute; right:.65rem; top:.65rem; z-index:3; display:inline-flex; align-items:center; gap:.45rem;
  border:1px solid #c5a263; border-radius:2rem; padding:.45rem .7rem; color:#f5ebdd;
  background:#100c10d9; font-size:.75rem; font-weight:700; cursor:pointer;
}
body.nightlife-theme .cozy-event-video :is(button):focus-visible { outline:3px solid #f5ebdd; outline-offset:3px; }
body.nightlife-theme .cozy-event-video:fullscreen { width:100%; height:100%; max-width:none; border:0; border-radius:0; }
@media (max-width:991.98px) {
  body.nightlife-theme .cozy-event-video { margin-inline:auto; }
}
@media (max-width:420px) {
  body.nightlife-theme .cozy-event-video-fullscreen span { display:none; }
  body.nightlife-theme .cozy-event-video-fullscreen { width:2.4rem; height:2.4rem; justify-content:center; padding:0; }
}
@media (prefers-reduced-motion:reduce) {
  body.nightlife-theme :is(.cozy-event-video-play,.cozy-footer-social) { transition:none; transform:none; }
}
