@media screen {
  body.nightlife-theme .nightlife-countdown[hidden] { display: none !important; }
  body.nightlife-theme .nightlife-countdown { max-width: 30rem; }
  body.nightlife-theme .nightlife-countdown-title { color: #e8cc99; margin-bottom: .65rem; }
  body.nightlife-theme .nightlife-countdown-units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
  body.nightlife-theme .nightlife-countdown-unit { padding: .65rem .25rem; border: 1px solid #c5a263; border-radius: .7rem; text-align: center; background: #21151c; box-shadow: 0 0 12px #c5a26318; }
  body.nightlife-theme .nightlife-countdown-unit [data-nightlife-unit] { display: block; position: relative; overflow: hidden; height: 1.2em; color: #f5ebdd; font-size: clamp(1.3rem, 4vw, 2.3rem); font-variant-numeric: tabular-nums; line-height: 1.2; }
  body.nightlife-theme [data-nightlife-unit] > :is(.nightlife-digit-in,.nightlife-digit-out) { display: block; position: absolute; inset: 0; font: inherit; color: inherit; pointer-events: none; }
  body.nightlife-theme .nightlife-digit-out { animation: nightlife-digit-up-out .45s cubic-bezier(.22,.61,.36,1) both; }
  body.nightlife-theme .nightlife-digit-in { animation: nightlife-digit-up-in .45s cubic-bezier(.22,.61,.36,1) both; }
  @keyframes nightlife-digit-up-out { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-100%); opacity: 0; } }
  @keyframes nightlife-digit-up-in { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
  @media (prefers-reduced-motion: reduce) {
    body.nightlife-theme .nightlife-digit-out { display: none !important; animation: none; }
    body.nightlife-theme .nightlife-digit-in { animation: none; }
  }
  body.nightlife-theme .nightlife-countdown-unit small { display: block; color: #e8cc99; font-size: .75rem; }
  body.nightlife-theme :is(.nightlife-community,.nightlife-guidance) { padding: clamp(1rem, 3vw, 2rem); border: 1px solid #c5a263; border-radius: .7rem; background: #21151c; color: #f5ebdd; }
  body.nightlife-theme .nightlife-community { text-align: center; background: linear-gradient(120deg, #451c2d, #21151c); }
  body.nightlife-theme .nightlife-community p { color: #c5b4bd; }
  body.nightlife-theme .nightlife-community .btn { white-space: normal; }
  body.nightlife-theme .nightlife-guidance-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin-top: 1.5rem; }
  body.nightlife-theme .nightlife-guidance h4 { color: #e8cc99; font-size: 1rem; }
  body.nightlife-theme .nightlife-guidance ul { padding: 0; list-style: none; margin: 0; }
  body.nightlife-theme .nightlife-guidance li { position: relative; padding-inline-start: 1.6rem; margin-block: 1rem; color: #f5ebdd; overflow-wrap: anywhere; }
  body.nightlife-theme .nightlife-guidance li::before { position: absolute; inset-inline-start: 0; font-weight: 700; }
  body.nightlife-theme .nightlife-recommended li::before { content: '\2713'; color: #e8cc99; }
  body.nightlife-theme .nightlife-prohibited li::before { content: '\00d7'; color: #ff9aaa; }
  body.nightlife-theme .nightlife-security-note { border-top: 1px solid #59434d; padding-top: 1rem; color: #c5b4bd; margin-bottom: 0; }
  body.nightlife-theme #buy-tickets { scroll-margin-top: calc(var(--nightlife-header-height, 80px) + 24px); }
  body.nightlife-theme .cozy-event-photo-reel { position: relative; padding-block: clamp(.75rem,2vw,1.5rem); overflow: hidden; background: #100c10; border-block: 1px solid #c5a26366; }
  body.nightlife-theme .cozy-event-photo-viewport { width: 100%; overflow: hidden; outline: none; -webkit-mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
  body.nightlife-theme .cozy-event-photo-viewport:focus-visible { outline: 3px solid #e8cc99; outline-offset: -3px; }
  body.nightlife-theme .cozy-event-photo-track { --cozy-reel-gap: 1rem; display: flex; width: max-content; animation: cozy-event-photo-scroll 72s linear infinite; will-change: transform; }
  body.nightlife-theme .cozy-event-photo-reel:is(:hover,:focus-within) .cozy-event-photo-track { animation-play-state: paused; }
  body.nightlife-theme .cozy-event-photo-group { display: flex; flex: none; gap: var(--cozy-reel-gap); padding-right: var(--cozy-reel-gap); }
  body.nightlife-theme .cozy-event-photo { width: clamp(240px,28vw,430px); aspect-ratio: 4/3; padding: 0; overflow: hidden; border: 1px solid #c5a263; border-radius: 1rem; background: #21151c; box-shadow: 0 8px 28px #0007,0 0 18px #c5a2631c; cursor: pointer; }
  body.nightlife-theme .cozy-event-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease,filter .4s ease; }
  body.nightlife-theme .cozy-event-photo:is(:hover,:focus-visible) img { transform: scale(1.04); filter: brightness(1.08); }
  body.nightlife-theme .cozy-event-photo:focus-visible { outline: 3px solid #f5ebdd; outline-offset: -5px; }
  @keyframes cozy-event-photo-scroll { to { transform: translateX(-50%); } }
  body.nightlife-theme .cozy-event-photo-dialog { position: fixed; inset: 0; width: min(94vw,1100px); max-width: none; height: min(90dvh,820px); max-height: none; margin: auto; padding: clamp(2.8rem,5vw,4rem); border: 1px solid #c5a263; border-radius: 1rem; background: #100c10; color: #f5ebdd; box-shadow: 0 20px 80px #000; }
  body.nightlife-theme .cozy-event-photo-dialog[open] { display: grid; place-items: center; }
  body.nightlife-theme .cozy-event-photo-dialog::backdrop { background: #080608eb; backdrop-filter: blur(5px); }
  body.nightlife-theme .cozy-event-photo-dialog > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
  body.nightlife-theme :is(.cozy-event-photo-close,.cozy-event-photo-nav) { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #c5a263; border-radius: 50%; background: #781f3d; color: #f5ebdd; font-size: 2rem; line-height: 1; cursor: pointer; }
  body.nightlife-theme .cozy-event-photo-close { top: .75rem; right: .75rem; }
  body.nightlife-theme .cozy-event-photo-nav { top: 50%; transform: translateY(-50%); }
  body.nightlife-theme .cozy-event-photo-prev { left: .65rem; }
  body.nightlife-theme .cozy-event-photo-next { right: .65rem; }
  body.nightlife-theme :is(.cozy-event-photo-close,.cozy-event-photo-nav):focus-visible { outline: 3px solid #f5ebdd; outline-offset: 2px; }
  body.nightlife-theme .cozy-floating-ticket { position: fixed; z-index: 1035; right: clamp(12px,2vw,28px); top: 56%; display: grid; place-items: center; width: clamp(56px,5vw,70px); height: clamp(56px,5vw,70px); border: 2px solid #e8cc99; border-radius: 50%; background: radial-gradient(circle at 35% 25%,#a73359,#781f3d 58%,#3f1022); color: #f5ebdd; box-shadow: 0 0 0 5px #100c10cc,0 0 28px #c5a2639c; transition: opacity .25s ease,transform .25s ease,box-shadow .25s ease; animation: cozy-ticket-pulse 2.8s ease-in-out infinite; }
  body.nightlife-theme .cozy-floating-ticket svg { width: 58%; height: 58%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; animation: cozy-ticket-wiggle 3.2s ease-in-out infinite; }
  body.nightlife-theme .cozy-floating-ticket:is(:hover,:focus-visible) { color: #fff7e9; transform: scale(1.08); box-shadow: 0 0 0 5px #100c10,0 0 38px #e8cc99c7; }
  body.nightlife-theme .cozy-floating-ticket:focus-visible { outline: 3px solid #f5ebdd; outline-offset: 5px; }
  body.nightlife-theme .cozy-floating-ticket.is-near-tickets { opacity: 0; pointer-events: none; transform: translateX(120%); }
  @keyframes cozy-ticket-pulse { 0%,100% { box-shadow: 0 0 0 5px #100c10cc,0 0 20px #c5a26370; } 50% { box-shadow: 0 0 0 7px #100c10cc,0 0 38px #e8cc99b3; } }
  @keyframes cozy-ticket-wiggle { 0%,70%,100% { transform: rotate(0); } 78% { transform: rotate(-9deg); } 86% { transform: rotate(8deg); } 94% { transform: rotate(-4deg); } }
  @media (max-width: 767px) {
    body.nightlife-theme .nightlife-guidance-columns { grid-template-columns: minmax(0,1fr); gap: 1rem; }
    body.nightlife-theme .nightlife-countdown { margin-inline: auto; }
    body.nightlife-theme .nightlife-countdown-units { gap: .4rem; }
    body.nightlife-theme .cozy-event-photo { width: min(72vw,330px); border-radius: .8rem; }
    body.nightlife-theme .cozy-event-photo-track { --cozy-reel-gap: .7rem; }
    body.nightlife-theme .cozy-event-photo-dialog { width: 96vw; height: 84dvh; padding: 3.5rem .75rem 1rem; }
    body.nightlife-theme .cozy-event-photo-nav { top: auto; bottom: .6rem; transform: none; }
    body.nightlife-theme .cozy-event-photo-prev { left: calc(50% - 56px); }
    body.nightlife-theme .cozy-event-photo-next { right: calc(50% - 56px); }
    body.nightlife-theme .cozy-floating-ticket { top: auto; right: 14px; bottom: 86px; width: 58px; height: 58px; }
  }
  @media (prefers-reduced-motion: reduce) {
    body.nightlife-theme .cozy-event-photo-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
    body.nightlife-theme .cozy-event-photo-track { animation: none; }
    body.nightlife-theme .cozy-event-photo-group[aria-hidden="true"] { display: none; }
    body.nightlife-theme .cozy-event-photo img,body.nightlife-theme .cozy-floating-ticket,body.nightlife-theme .cozy-floating-ticket svg { animation: none; transition: none; }
  }
}
