/* Frontend additions only: Voyager admin retains its own styling. */
.nightlife-theme .cozy-gallery {min-height:35vh}
.nightlife-theme .cozy-gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nightlife-theme .cozy-gallery-slider {overflow:hidden;padding:8px 0 24px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.nightlife-theme .cozy-gallery-track {display:flex;width:max-content;animation:cozy-gallery-scroll 38s linear infinite;will-change:transform}
.nightlife-theme .cozy-gallery-slide-group {display:flex;gap:24px;padding-right:24px}
.nightlife-theme .cozy-gallery-slide-group .cozy-album-card {width:clamp(250px,28vw,390px);flex:0 0 auto}
.nightlife-theme .cozy-gallery-slider:hover .cozy-gallery-track,.nightlife-theme .cozy-gallery-slider:focus-within .cozy-gallery-track {animation-play-state:paused}
@keyframes cozy-gallery-scroll {to {transform:translateX(-50%)}}
.nightlife-theme .cozy-album-card,.nightlife-theme .cozy-gallery-item {display:block;min-width:0;margin:0;overflow:hidden;border:1px solid #c5a26380;border-radius:18px;background:#21151c;color:#f5ebdd;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.nightlife-theme .cozy-album-card:hover {transform:translateY(-4px);box-shadow:0 8px 28px #c5a26322}
.nightlife-theme .cozy-album-card img,.nightlife-theme .cozy-album-cover,.nightlife-theme .cozy-gallery-item img {width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.nightlife-theme .cozy-album-cover {display:grid;place-items:center;background:linear-gradient(135deg,#341923,#100c10);font-size:3rem;color:#c5a263}
.nightlife-theme .cozy-album-copy,.nightlife-theme .cozy-gallery-item figcaption {padding:20px;overflow-wrap:anywhere}
.nightlife-theme .cozy-album-copy h3 {font-size:1.35rem;line-height:1.4;overflow-wrap:anywhere}
.nightlife-theme .cozy-album-copy p {margin:6px 0 0;color:#dfcbd2}
.nightlife-theme .cozy-gallery-description {overflow-wrap:anywhere;white-space:pre-line;max-width:70ch}
.nightlife-theme .cozy-gallery-item video {display:block;width:100%;aspect-ratio:4/3;background:#100c10;object-fit:contain}
.nightlife-theme .cozy-image-dialog {position:fixed;inset:0;margin:auto;padding:45px 12px 12px;width:max-content;max-width:94vw;max-height:94dvh;border:1px solid #c5a263;border-radius:14px;background:#100c10;color:#f5ebdd}
.nightlife-theme .cozy-image-dialog::backdrop {background:#100c10eb}
.nightlife-theme .cozy-image-dialog img {display:block;max-width:88vw;max-height:80dvh;object-fit:contain}
.nightlife-theme .cozy-image-close {position:absolute;right:8px;top:4px;width:36px;height:36px;border:0;background:#781f3d;color:#f5ebdd;border-radius:50%;font-size:26px;line-height:1}
.nightlife-theme .cozy-venue-map {width:100%;height:clamp(240px,45vw,450px);display:block;border:1px solid #c5a26380;border-radius:12px;background:#21151c}
.nightlife-theme .cozy-dashboard #page-content-for-mini {margin:0 0 0 190px!important;padding:20px;min-height:65vh;min-width:0;width:calc(100% - 190px);flex:1;transition:none}
.nightlife-theme #db-wrapper-two .navbar-vertical-compact {position:fixed;top:var(--nightlife-header-height,80px);bottom:0;left:0;margin:0!important;width:190px;height:auto!important;background:#21151c!important;border-right:1px solid #c5a26360;z-index:1010;overflow-y:auto;transform:none}
.nightlife-theme #db-wrapper-two .cozy-sidebar-inner {padding:20px 0;height:auto!important}
.nightlife-theme #db-wrapper-two .nav-link {color:#f5ebdd!important;border-radius:8px;padding:12px;white-space:normal}
.nightlife-theme #db-wrapper-two .nav-link.active,.nightlife-theme #db-wrapper-two .nav-link:hover {background:#781f3d!important;color:#f5ebdd!important;border-color:#c5a263!important}
.nightlife-theme #db-wrapper-two .nav-icon,.nightlife-theme #db-wrapper-two .nav-divider-text {color:#dfc18c!important}
.nightlife-theme #db-wrapper-two .tooltiptext {display:none!important}
.nightlife-theme #db-wrapper-two .tool-h {display:inline!important}
.nightlife-theme .cozy-sidebar-control {display:none}
.nightlife-theme .cozy-dashboard .card-header {gap:16px;align-items:center;flex-wrap:wrap}
.nightlife-theme .cozy-dashboard h1 {font-size:clamp(1.65rem,3vw,2.5rem)!important;line-height:1.2;overflow-wrap:anywhere}
.nightlife-theme .cozy-dashboard .card,.nightlife-theme .cozy-dashboard .bg-light,.nightlife-theme .cozy-profile .card {background:#21151c!important;color:#f5ebdd}
.nightlife-theme .cozy-dashboard .nav-lb-tab {gap:8px;flex-wrap:wrap;white-space:normal}
.nightlife-theme .cozy-dashboard .nav-lb-tab .nav-link {color:#dfcbd2!important;border-color:transparent;padding:12px 10px}
.nightlife-theme .cozy-dashboard .nav-lb-tab .router-link-active,.nightlife-theme .cozy-dashboard .nav-lb-tab .active {color:#efd3a0!important;border-bottom-color:#c5a263!important}
.nightlife-theme .cozy-dashboard .ql-toolbar,.nightlife-theme .cozy-profile .ql-toolbar {background:#2f2029!important;border-color:#8c6d49!important;color:#f5ebdd}
.nightlife-theme .cozy-dashboard .ql-container {border-color:#8c6d49!important;color:#f5ebdd}
.nightlife-theme .ql-snow .ql-stroke {stroke:#f5ebdd!important}
.nightlife-theme .ql-snow .ql-fill {fill:#f5ebdd!important}
.nightlife-theme .ql-snow .ql-picker {color:#f5ebdd!important}
.nightlife-theme .ql-snow .ql-picker-options,.nightlife-theme .ql-snow .ql-tooltip {background:#21151c!important;color:#f5ebdd!important;border:1px solid #c5a263!important;z-index:30}
.nightlife-theme .ql-snow button:hover,.nightlife-theme .ql-snow button.ql-active {background:#781f3d;border-radius:4px}
.nightlife-theme .cozy-dashboard .text-muted,.nightlife-theme .cozy-profile .text-muted {color:#dfcbd2!important}
.nightlife-theme .cozy-dashboard .form-control,.nightlife-theme .cozy-dashboard .form-select,.nightlife-theme .cozy-profile .form-control {color:#f5ebdd!important;background:#100c10!important;border-color:#927650!important;min-height:42px}
.nightlife-theme .cozy-dashboard input::placeholder,.nightlife-theme .cozy-profile input::placeholder {color:#c9b6bd!important;opacity:1}
.nightlife-theme .cozy-dashboard .v-select .vs__dropdown-menu {background:#21151c!important;color:#f5ebdd!important}
.nightlife-theme .cozy-dashboard .vs__dropdown-option {color:#f5ebdd!important}
.nightlife-theme .cozy-dashboard .vs__dropdown-option--highlight {background:#781f3d!important}
.nightlife-theme .cozy-dashboard .vs__open-indicator,.nightlife-theme .cozy-dashboard .vs__clear {fill:#efd3a0!important}
.nightlife-theme .cozy-single-admin form:has(input[name="organiser_id"]) > .mb-3:has(> input[readonly]) {display:none!important}
.nightlife-theme .cozy-package-editor[hidden],.nightlife-theme .cozy-legacy-editor[hidden] {display:none!important}
.nightlife-theme .cozy-package-form {padding:20px;border:1px solid #c5a26380;border-radius:12px;background:#100c10}
.nightlife-theme .cozy-package-form summary {color:#efd3a0;font-weight:600;cursor:pointer}
.nightlife-theme .cozy-package-form summary span {display:inline-block;margin-left:12px;color:#dfcbd2;font-size:.85em}
.nightlife-theme .cozy-editor-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nightlife-theme .cozy-editor-fields label {min-width:0}
.nightlife-theme .cozy-editor-capacity input {width:160px}
.nightlife-theme .cozy-package-editor input[type="checkbox"] {accent-color:#781f3d;width:18px;height:18px;vertical-align:middle}
.nightlife-theme .dashboard-footer {width:calc(100% - 190px)!important;margin-left:190px;color:#dfcbd2}
.nightlife-theme .dashboard-footer a {color:#efd3a0!important}
.nightlife-theme :is(.cozy-dashboard,.cozy-gallery,.cozy-profile) :is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid #efd3a0!important;outline-offset:3px}
@media(max-width:991px){
 .nightlife-theme .cozy-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nightlife-theme .cozy-dashboard #page-content-for-mini {margin:0!important;padding:16px 8px}
 .nightlife-theme .cozy-sidebar-control{display:block;margin:0 12px 16px}
 .nightlife-theme #db-wrapper-two .navbar-vertical-compact{display:none;width:min(270px,85vw);box-shadow:10px 10px 40px #0009}
 .nightlife-theme.cozy-sidebar-open #db-wrapper-two .navbar-vertical-compact{display:block}
 .nightlife-theme .dashboard-footer{width:100%!important;margin-left:0}
 .nightlife-theme .cozy-dashboard .card-body,.nightlife-theme .cozy-dashboard .card-header{padding:16px!important}
 .nightlife-theme .cozy-dashboard .container-fluid{padding:0 4px}
}
@media(max-width:575px){
 .nightlife-theme .cozy-gallery-grid,.nightlife-theme .cozy-editor-fields{grid-template-columns:1fr}
 .nightlife-theme .cozy-gallery-slide-group .cozy-album-card{width:82vw}
 .nightlife-theme .cozy-gallery-track{animation-duration:30s}
 .nightlife-theme .cozy-package-form{padding:14px}
 .nightlife-theme .cozy-dashboard .nav-lb-tab{gap:0}
 .nightlife-theme .cozy-dashboard .nav-lb-tab .nav-link{font-size:.85rem;padding:10px 8px}
 .nightlife-theme .cozy-dashboard .ql-toolbar{padding:6px}
}
@media(prefers-reduced-motion:reduce){
 .nightlife-theme .cozy-album-card{transition:none}
 .nightlife-theme .cozy-album-card:hover{transform:none}
 .nightlife-theme .cozy-gallery-slider{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scroll-snap-type:x mandatory}
 .nightlife-theme .cozy-gallery-track{animation:none}
 .nightlife-theme .cozy-gallery-slide-group .cozy-album-card{scroll-snap-align:start}
 .nightlife-theme .cozy-gallery-slide-group[aria-hidden="true"]{display:none}
}

/* Past-event archive and sold-out presentation. */
.nightlife-theme .cozy-past-events{min-height:35vh}
.nightlife-theme .cozy-past-events h1,.nightlife-theme .cozy-past-events h2{color:#f5ebdd;font-weight:800}
.nightlife-theme .cozy-past-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.nightlife-theme .cozy-past-section-heading a{color:#e8cc99;text-decoration:none;font-weight:700}
.nightlife-theme .cozy-past-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.nightlife-theme .cozy-past-card{min-width:0;overflow:hidden;border:1px solid #c5a2639c;border-radius:18px;background:#21151c;box-shadow:0 12px 36px #0005;transition:transform .25s ease,box-shadow .25s ease}
.nightlife-theme .cozy-past-card:hover,.nightlife-theme .cozy-past-card:focus-within{transform:translateY(-4px);box-shadow:0 12px 38px #c5a26329}
.nightlife-theme .cozy-past-card-image{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#100c10}
.nightlife-theme .cozy-past-card-image img{width:100%;height:100%;display:block;object-fit:cover}
.nightlife-theme .cozy-past-card-stamp{position:absolute;right:1rem;bottom:1rem;transform:rotate(-8deg);padding:.45rem .8rem;border:3px double #f1d38d;border-radius:7px;color:#f5e2aa;background:#21151cde;box-shadow:0 0 16px #c5a26388;font-size:clamp(1rem,2vw,1.4rem);font-weight:900;letter-spacing:.12em}
.nightlife-theme .cozy-past-card-copy{padding:1.25rem;color:#f5ebdd}
.nightlife-theme .cozy-past-card-copy h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.3}
.nightlife-theme .cozy-past-card-copy h3 a,.nightlife-theme .cozy-past-card-link{color:#f5ebdd;text-decoration:none}
.nightlife-theme .cozy-past-card-copy h3 a:hover,.nightlife-theme .cozy-past-card-link:hover{color:#e8cc99}
.nightlife-theme .cozy-past-card-meta{color:#e8cc99;font-size:.9rem;font-weight:700}
.nightlife-theme .cozy-past-card-copy>p:not(.cozy-past-card-meta){color:#dfcbd2}
.nightlife-theme .cozy-past-card-link{display:inline-block;margin-top:.5rem;font-weight:700}
.nightlife-theme .cozy-past-ticket-panel{display:flex;min-height:240px;align-items:center;justify-content:center;flex-direction:column;gap:2rem;padding:2rem 1rem;border:1px solid #c5a26380;border-radius:16px;background:radial-gradient(circle at center,#492336,#21151c 75%);text-align:center}
.nightlife-theme .cozy-past-sold-out{display:inline-block;transform:rotate(-7deg);padding:.6rem 1.25rem;border:5px double #e8cc99;border-radius:10px;color:#f5e2aa;background:#21151c;box-shadow:0 0 28px #c5a26380;font-size:clamp(2.1rem,6vw,4.5rem);font-weight:900;letter-spacing:.15em;line-height:1.1}
.nightlife-theme .cozy-past-gallery-button{min-height:48px;padding:.7rem 1.6rem;border:1px solid #e8cc99;border-radius:10px;background:#781f3d;color:#f5ebdd;font-weight:700}
.nightlife-theme .cozy-past-gallery-button:hover{background:#9c3054;color:#fff}
.nightlife-theme .cozy-past-events :is(a,button):focus-visible,.nightlife-theme .cozy-past-gallery-button:focus-visible{outline:3px solid #e8cc99;outline-offset:3px}
@media(max-width:991px){.nightlife-theme .cozy-past-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.nightlife-theme .cozy-past-grid{grid-template-columns:1fr;gap:1rem}.nightlife-theme .cozy-past-ticket-panel{min-height:210px}}
@media(prefers-reduced-motion:reduce){.nightlife-theme .cozy-past-card{transition:none}.nightlife-theme .cozy-past-card:hover{transform:none}}

.nightlife-theme .cozy-managed-event .col-md-6:has(input[name="repetitive"]) {display:none!important}
.nightlife-theme.cozy-single-vendor .howit-tabs #tab-organiser,
.nightlife-theme.cozy-single-vendor .howit-tabs label[for="tab-organiser"],
.nightlife-theme.cozy-single-vendor .howit-tabs .tab-panel.organiser {display:none!important}
