.loaded #preloader,
.preloader.fade-out,
.slide-content {
    opacity: 0;
    pointer-events: none;
}

:root::view-transition {
  position: fixed;
  inset: 0;
}

.acf_prepend,
.btn-custom,
.dropdown-container select,
.dropdown-container-alt select,
.et_pb_module,
.et_pb_module p,
.event-bio-content,
.event-bio-full,
.event-bio-text,
.event-card.default-style,
.event-details,
.form-all,
.gig-custom-credit,
.manual-scroll,
.pa-inline-buttons,
.scrollable-container,
.slider-description,
.ticket-signup-text,
.ticket-signup-title,
body,
button,
input,
select,
textarea {
    font-family: var(--glasswerk-font-body);
}

#main-content,
body {
    background-color: var(--page-bg-color);
}

/* Primary button colours — see unified .glasswerk-btn block below */


body {
    overflow-x: hidden;
}

.text-xs {
    font-size: var(--text-xs);
}

.age-restriction,
.event-timings-row,
.filter-group label,
.filter-group select,
.read-more-link,
.search-result-venue-city,
.support-acts-label,
.support-acts-list,
.text-sm,
.ticket-status {
    font-size: var(--text-sm);
}

.alt-event-details h3,
.event-title,
.glasswerk-default-layout-mobile-search-bar-dropdown input[type=text],
.glasswerk-default-layout-search-bar-container input[type=text],
.presale-form__button,
.presale-form__input,
.search-result-title,
.text-base {
    font-size: var(--text-base);
}

.text-lg {
    font-size: var(--text-lg);
}

.text-xl {
    font-size: var(--text-xl);
}

.text-2xl {
    font-size: var(--text-2xl);
}

.text-3xl {
    font-size: var(--text-3xl);
}

.text-4xl {
    font-size: var(--text-4xl);
}

.text-5xl {
    font-size: var(--text-5xl);
}

.text-6xl {
    font-size: var(--text-6xl);
}

.font-light {
    font-weight: var(--font-light);
}

.font-normal {
    font-weight: var(--font-normal);
}

.font-medium {
    font-weight: var(--font-medium);
}

.font-semibold {
    font-weight: var(--font-semibold);
}

.font-bold {
    font-weight: var(--font-bold);
}

.font-extrabold {
    font-weight: var(--font-extrabold);
}

.leading-tight {
    line-height: var(--leading-tight);
}

.leading-normal {
    line-height: var(--leading-normal);
}

.leading-relaxed {
    line-height: var(--leading-relaxed);
}

.leading-loose {
    line-height: var(--leading-loose);
}

.catagory-titles,
.et_pb_module .h1,
.et_pb_module h1,
.gig-custom-title,
.slider-title,
.venue-home-page-title {
    font-family: var(--glasswerk-font-primary);
}

.et_pb_module .h2,
.et_pb_module .h3,
.et_pb_module .h4,
.et_pb_module .h5,
.et_pb_module .h6,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6,
.slider-subtitle {
    font-family: var(--glasswerk-font-secondary);
}

.et_pb_section,
.et_pb_section.et_pb_fullwidth_section,
.et_pb_specialty_section {
    background-color: var(--content-bg-color) !important;
}

.et_pb_row,
.et_pb_section .et_pb_section {
    background-color: transparent !important;
}

.container,
.entry-content,
.et_builder_inner_content,
.et_pb_fullwidth_section .et_pb_title_container,
.et_pb_fullwidth_section .et_pb_title_featured_container,
.et_pb_slider .et_pb_container,
.header-container {
    background-color: transparent;
}

#atcb-reference a,
#atcb-reference a:active,
#atcb-reference a:visited,
.event-item.hidden-by-filter,
.leaflet-container[data-map-lat="0"][data-map-lng="0"],
.leaflet-control-attribution,
.leaflet-map[data-map-lat="0"][data-map-lng="0"],
.slider-dot-inline * {
    display: none !important;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 2%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    color: #fff;
    z-index: 3000;
}

.event-bio-content,
.plectrum-container,
.search-form,
.see-all-tours-link,
.signup-form,
.slider-container,
.slider-slide {
    position: relative;
}

#preloader {
    left: 0;
    background: #ededed;
    z-index: 9999;
    opacity: 1;
    transition: opacity .5s ease-out;
}

.lazy-load {
    opacity: 0;
    transition: opacity .5s ease-in-out;
}

.lazy-load.loaded {
    opacity: 1;
}

.share-buttons {
    display: flex;
    gap: 1rem;
    justify-content: flex-start;
}

.share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: var(--glasswerk-button-radius, 4px);
    text-decoration: none;
    color: #fff;
    transition: opacity .2s;
    flex-shrink: 0
}

.share-button i {
    font-size: 1.1rem;
    line-height: 1
}

.read-more-link:hover {
    color: var(--accent-color-hover, var(--button-hover-bg-color));
    opacity: .9;
}

.share-button:hover {
    opacity: .8;
}

.facebook {
    background-color: #3b5998
}

.whatsapp {
    background-color: #25d366
}

.instagram {
    background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d)
}

.signup-input-group {
    display: flex;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.signup-message {
    margin-top: 5px;
    text-align: left;
    font-size: 14px;
    padding-left: 2px;
}

.signup-message.success {
    color: #28a745
}

.signup-message.error {
    color: #cb0607
}

@media (max-width:600px) {
    .ticket-signup-container {
        text-align: center
    }
    .ticket-signup-title-container {
        flex-direction: column;
        align-items: center
    }
    .ticket-signup-title .dashicons {
        font-size: clamp(22px, 5vw, 42px)
    }
    .event-button i.fa-solid {
        margin-right: 0;
        margin-bottom: .2em;
        padding-right: 0
    }
}

.center-content-block {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: fit-content;
}

.generic-listings-section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding: 1rem 0;
    border-radius: 4px;
    width: 100%;
    box-sizing: border-box;
}

.generic-listings-section-title h2 {
    margin: 0;
    padding: 0;
    font-size: 2rem;
    font-weight: 700;
    color: #333;
    text-align: left;
    line-height: 1;
    display: flex;
    align-items: center;
}

.see-all-tours-link {
    position: relative;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    flex-shrink: 0
}

.see-all-tours-link::after {
    content: '276F';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1rem;
    text-indent: 0
}

.glasswerk-event-slider {
    position: relative;
    width: 100vw;
    height: 60vh;
    overflow: hidden;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 0;
}

.slider-container {
    width: 100%;
    height: 60vh;
}

.slider-wrapper {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .25s ease-in-out;
    transform: translateX(0);
    will-change: transform;
}

.slider-slide {
    flex: 0 0 60vw;
    height: 100%;
    margin: 0;
    transition: .3s;
}

.slide-action,
.slide-action-row {
    align-items: center;
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.slide-action {
    gap: .5rem;
}

.slider-slide:not(.slide-center)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .6);
    z-index: 3;
    pointer-events: none;
    transition: opacity .3s;
}

.clean-hero-background-blur,
.slide-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.clean-hero-slide-bg-image,
.slide-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    aspect-ratio: 16/9;
}

.lazy-image {
    opacity: 0 !important;
    transition: opacity 0.5s ease-in-out;
}

.lazy-image.loaded {
    opacity: 1 !important;
}

/* Slider background image visibility fixes */
.slide-bg-image.lazy-image.loaded,
.slide-bg-image.lazy-image[class*="loaded"],
.slide-background .slide-bg-image.lazy-image.loaded,
.slide-bg-image.lazy-image,
.slide-bg-image.lazy-image[style*="opacity: 0"],
.slide-background img.slide-bg-image {
    opacity: 1 !important;
}

.slide-bg-image.lazy-image {
    animation: fadeInFallback 3s ease-in-out forwards;
}

.slide-bg-image.lazy-image.loaded {
    animation: none;
}

@keyframes fadeInFallback {
    0%, 80% { opacity: 0; }
    100% { opacity: 1; }
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, .75) 0, rgba(0, 0, 0, .2) 35%, transparent 55%);
    z-index: 1;
}

.slide-blur-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse 70% 50% at 0 100%, rgba(0, 0, 0, .95) 0, rgba(0, 0, 0, .7) 18%, rgba(0, 0, 0, .4) 32%, transparent 48%);
    backdrop-filter: blur(0px);
    mask: radial-gradient(ellipse 70% 50% at 0% 100%, black 0%, rgba(0, 0, 0, 0.85) 18%, rgba(0, 0, 0, 0.5) 32%, transparent 48%);
    z-index: 2;
}

.slide-blur-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(12px);
    mask: radial-gradient(ellipse 60% 40% at 0% 100%, black 0%, rgba(0, 0, 0, 0.8) 13%, rgba(0, 0, 0, 0.3) 26%, transparent 40%)
}

.slide-blur-gradient::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(6px);
    mask: radial-gradient(ellipse 65% 45% at 0% 100%, transparent 0%, rgba(0, 0, 0, 0.4) 13%, rgba(0, 0, 0, 0.7) 26%, rgba(0, 0, 0, 0.4) 40%, transparent 55%)
}

.slide-content {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 20px;
    z-index: 2;
    transform: translateY(20px);
    transition: .5s;
}

.event-card,
.slider-dot-inline {
    transition: .3s;
    position: relative;
    cursor: pointer;
}

.slider-slide.slide-center .slide-content {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

.clean-hero-slide-info,
.slide-info {
    max-width: none;
}

.clean-hero-slide-promoter,
.slide-promoter {
    font-family: var(--glasswerk-hero-promoter-font, inherit) !important;
    font-size: var(--universal-text-promoter) !important;
    font-weight: var(--glasswerk-hero-promoter-weight, 400) !important;
    color: var(--glasswerk-hero-promoter-color, #fff);
    margin: 0 0 .3rem;
    opacity: .9;
    text-transform: capitalize;
    letter-spacing: .1em;
    line-height: 1.2;
    padding-bottom: 0;
}

.clean-hero-slide-artist,
.slide-artist {
    font-family: var(--glasswerk-hero-headline-font, inherit);
    font-size: var(--universal-text-headline);
    font-weight: var(--glasswerk-hero-headline-weight, 700);
    color: var(--glasswerk-hero-headline-color, #fff);
    margin: 0 0 .3rem;
    padding: 0;
    line-height: 1.1;
}

.slide-tour-text {
    font-family: var(--glasswerk-hero-subheadline-font, inherit);
    font-size: var(--universal-text-subheadline);
    font-weight: var(--glasswerk-hero-subheadline-weight, 700);
    color: var(--glasswerk-hero-subheadline-color, #fff);
    opacity: .9;
    line-height: 1.3;
}

.slide-dots-container {
    display: flex;
    gap: 12px;
    align-items: center;
}

.slider-dot-inline {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, .7);
    background: 0 0;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    -ms-overflow-style: none;
    text-indent: -9999px;
    color: transparent !important;
    text-decoration: none !important;
    white-space: nowrap;
    text-overflow: clip;
}

.slider-dot-inline.active,
.slider-dot-inline:hover {
    background: var(--glasswerk-hero-button-bg-color, #f28624);
    border-color: var(--glasswerk-hero-button-bg-color, #f28624)
}

.slider-dot-inline:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: 0 0;
}

.slider-dot-inline:after {
    content: "";
}

@media screen and (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    .slider-dot-inline {
        font-family: monospace;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        color: transparent !important;
        background-color: transparent !important;
        border: 2px solid rgba(255, 255, 255, .7) !important
    }
    .slider-dot-inline.active,
    .slider-dot-inline:hover {
        background-color: var(--glasswerk-hero-button-bg-color, #f28624) !important;
        border-color: var(--glasswerk-hero-button-bg-color, #f28624) !important
    }
}

.slide-action .hero-button,
.slide-action a.hero-button {
    margin: 0
}

.alt-event-image:empty,
.glasswerk-default-layout-desktop-nav a::after,
.long-event-status .status-label[data-status="Buy Tickets"],
.mobile-nav-container,
.slider-container > .slider-nav,
.slider-dot,
.slider-dots,
.slider-nav,
.slider-next,
.slider-prev,
.status-label[data-status="Buy Tickets"] {
    display: none
}

.featured-artists-section,
.glasswerk-event-cards {
    margin: 2rem 0
}

.cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 2rem
}

@media (max-width:934px) {
    .cards-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.event-card {
    background: #1a1a1a;
    border-radius: 4px;
    overflow: hidden;
    height: 75px;
    display: flex;
    align-items: stretch
}

.event-image-container {
    width: 100px;
    height: 75px;
    overflow: hidden;
    flex-shrink: 0
}

.event-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s
}

.alt-event-card:hover .alt-event-image,
.event-card:hover .event-image {
    transform: scale(1.1);
}

.event-content {
    flex: 1;
    padding: 0 24px;
    display: flex;
    align-items: center;
    min-height: 75px
}

.event-info {
    flex: 1;
    display: flex;
    align-items: center;
    padding-left: 0 !important
}

.event-title {
    font-size: 1rem;
    font-weight: 600;
    color: #f3f3f3;
    margin: 0;
    line-height: 1;
    padding-bottom: 0
}

.event-arrow-container {
    width: 60px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.alt-event-arrow,
.event-arrow {
    width: 18px;
    height: 18px;
    color: var(--accent-color);
    transition: transform .3s;
    flex-shrink: 0
}

.event-card:hover .event-arrow {
    transform: translateX(4px);
    color: var(--accent-color-hover)
}

.event-cards-no-events,
.featured-artists-no-events {
    text-align: center;
    padding: 2rem;
    color: #666;
    font-style: italic
}

.clean-hero-breadcrumb-current,
.clean-hero-breadcrumb-link,
.clean-hero-breadcrumb-separator {
    color: var(--glasswerk-hero-subheadline-color, #fff)
}

.clean-hero-section * {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

.clean-hero-section body {
    line-height: 1.6
}

.clean-hero-section {
    position: relative;
    width: 100vw;
    height: 60vh;
    overflow: hidden;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 0;
    z-index: 1
}

.clean-hero-container {
    position: relative;
    width: 100%;
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center
}

.clean-hero-background-blur img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(20px) saturate(1.4) brightness(1.1);
    transform: scale(1.1)
}

.clean-hero-background-blur::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3);
    z-index: 1
}

.clean-hero-slide {
    position: relative;
    width: 90vw !important;
    max-width: 1152px;
    height: 100%;
    margin: 0;
    z-index: 2;
    flex-shrink: 0;
    max-height: 100%
}

.clean-hero-slide-background,
.clean-hero-slide-blur-gradient,
.clean-hero-slide-blur-gradient::after,
.clean-hero-slide-blur-gradient::before,
.clean-hero-slide-overlay {
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.clean-hero-slide-background {
    top: 0;
    max-width: 1152px;
    z-index: 0;
    overflow: hidden
}

.clean-hero-slide-overlay {
    top: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, .4) 0, rgba(0, 0, 0, .2) 60%, rgba(0, 0, 0, .05) 100%);
    z-index: 1
}

.clean-hero-slide-blur-gradient {
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(0, 0, 0, .3) 0, rgba(0, 0, 0, .15) 25%, rgba(0, 0, 0, .08) 50%, rgba(0, 0, 0, .02) 75%, transparent 100%);
    z-index: 2
}

.clean-hero-slide-blur-gradient::before {
    content: '';
    top: 0;
    backdrop-filter: blur(12px);
    mask: radial-gradient(ellipse 70% 50% at 0% 100%, black 0%, rgba(0, 0, 0, 0.8) 20%, rgba(0, 0, 0, 0.3) 40%, transparent 60%)
}

.clean-hero-slide-blur-gradient::after {
    content: '';
    top: 0;
    backdrop-filter: blur(6px);
    mask: radial-gradient(ellipse 80% 60% at 0% 100%, transparent 0%, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0.7) 40%, rgba(0, 0, 0, 0.4) 60%, transparent 80%)
}

.clean-hero-slide-content {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 20px;
    z-index: 3;
    padding-bottom: 0
}

.clean-hero-breadcrumb {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-family: var(--glasswerk-hero-subheadline-font, inherit);
    font-size: var(--universal-text-breadcrumb);
    font-weight: 400;
    line-height: 1.3;
    opacity: .8;
    padding-top: 2.5rem
}

.clean-hero-breadcrumb-link {
    text-decoration: none;
    transition: opacity .3s;
}

.clean-hero-breadcrumb-link:hover {
    opacity: .7;
    text-decoration: underline;
}

.clean-hero-breadcrumb-separator {
    margin: 0 .5rem;
    opacity: .6;
}

.clean-hero-breadcrumb-current {
    font-weight: 500;
}

.clean-hero-slide-promoter,
.slide-promoter {
    font-family: var(--glasswerk-hero-promoter-font, var(--glasswerk-font-secondary));
    font-weight: var(--glasswerk-hero-promoter-weight, 400);
    font-size: var(--universal-text-promoter);
}

.support-act-link,
.support-acts-label,
.support-acts-list {
    font-family: var(--h5-font-family, 'Montserrat', sans-serif);
}

@media (max-width:768px) {
    .clean-hero-slide-promoter,
    .slide-promoter {
        font-size: var(--universal-text-mobile-promoter);
    }
}

.venue-label {
    background-color: var(--glasswerk-hero-button-bg-color, #f3f3f3);
    border: 1px solid #e0e0e0;
    padding: 5px 15px;
    margin-bottom: 15px;
    display: inline-block;
    border-radius: 4px;
}

.venue-label span {
    color: #1e1e1e;
    font-size: .9em;
    font-weight: 700;
}

@media (max-width:1024px) {
    .clean-hero-container,
    .clean-hero-section,
    .glasswerk-event-slider,
    .slider-container {
        height: 50vh;
    }
}

.clean-hero-section+*,
.event-long-card-listings-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.city-filter-container {
    border-radius: 0;
    border: 1px solid #2a2a2a;
}

.hidden-by-city-filter {
    display: none;
    visibility: hidden;
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    grid-column: span 0;
    grid-row: span 0;
    flex: 0 0 0;
    overflow: hidden;
    opacity: 0;
}

.event-long-card-listings-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1152px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
}

@media (max-width:480px) {
    .cards-grid {
        grid-template-columns: 1fr
    }
    .mobile-nav-container,
    .slider-slide.slide-center .slide-content {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto
    }
    .glasswerk-event-slider {
        height: 45vh;
        padding-bottom: 20px
    }
    .slider-slide {
        flex: 0 0 100vw;
        margin: 0
    }
    .slide-content {
        bottom: 30px;
        left: 25px;
        right: 10px
    }
    .clean-hero-slide-promoter,
    .slide-promoter {
        font-size: var(--universal-text-small-mobile-promoter);
        padding-bottom: 0
    }
    .slide-artist {
        font-size: var(--universal-text-small-mobile-headline);
        margin: 0 0 .3rem
    }
    .slide-tour-text {
        font-size: var(--universal-text-small-mobile-subheadline);
        margin: 0 0 1rem
    }
    .slide-dots-container,
    .slider-dot-inline {
        display: none
    }
    .slide-action .hero-button {
        padding: 8px 16px !important;
        font-size: var(--universal-text-small-mobile-button) !important
    }
    .mobile-nav-container {
        bottom: 30px;
        right: 25px;
        gap: 6px
    }
    .mobile-nav-container .slider-nav {
        width: 36px;
        height: 36px
    }
    .event-arrow,
    .mobile-nav-container .slider-nav svg {
        width: 14px;
        height: 14px
    }
    .event-card {
        height: 65px;
        display: flex;
        align-items: stretch;
        border-radius: 4px
    }
    .event-image-container {
        width: 85px;
        height: 65px
    }
    .event-content {
        padding: 0 18px;
        min-height: 65px;
        display: flex;
        align-items: center
    }
    .event-title {
        font-size: .85rem
    }
    .event-arrow-container {
        width: 45px;
        height: 65px
    }
    .clean-hero-section {
        height: 45vh
    }
    .clean-hero-slide {
        width: 100vw;
        height: 100%
    }
    .clean-hero-slide-bg-image {
        width: 100%;
        height: 100%
    }
    .clean-hero-slide-content {
        bottom: 30px;
        left: 25px;
        right: 10px;
        padding-bottom: 0
    }
    .clean-hero-breadcrumb,
    .slide-tour-text {
        font-size: 16px;
        padding: 0
    }
    .clean-hero-breadcrumb-separator {
        margin: 0 .3rem
    }
    .event-long-card-listings-container {
        margin-left: 0;
        max-width: 100vw
    }
    .long-event-card {
        padding: 12px;
        min-height: 60px
    }
    .long-event-date {
        width: 58px;
        height: auto;
        min-height: 0;
        margin-right: 10px
    }
    .long-event-date .date-day,
    .ticket-name-price {
        font-size: 18px
    }
    .long-event-date .date-month {
        font-size: 12px
    }
    .long-event-details {
        margin-right: 8px
    }
    .long-event-status {
        margin-right: 8px;
        position: static;
        margin-top: 4px
    }
    .long-event-button {
        width: 32px;
        height: 32px;
        font-size: 9px
    }
    .support-acts {
        padding: 2px 10px 5px
    }
    .support-act-link,
    .support-acts-label,
    .support-acts-list {
        font-size: 10px
    }
    .clean-hero-slide-artist {
        font-size: var(--universal-text-small-mobile-headline)
    }
    .clean-hero-event-details {
        font-size: .9em
    }
    .event-button {
        gap: 12px
    }
    .ticket-button-right * {
        max-width: 180px
    }
    .city-filter-container {
        padding: 12px 15px
    }
    .long-event-status .status-label {
        width: 32px;
        height: 32px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 18px;
        font-family: dashicons
    }
}

.et_pb_section:not(.clean-hero-section),
.event-long-card-listings-container * {
    position: relative;
    z-index: 2
}

.long-event-wrapper {
    width: 100%;
    max-width: none;
    margin-bottom: 0
}

@media (max-width:767px) {
    .event-long-card-listings-container {
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box
    }
    .long-event-wrapper {
        max-width: none;
        width: 100%;
        padding: 0;
        box-sizing: border-box
    }
    .long-event-card {
        padding: 14px 12px;
        min-height: 0;
        align-items: flex-start
    }
    .long-event-date {
        width: 56px;
        min-height: 3.5rem;
        height: auto;
        margin-right: 12px;
        padding: 8px 4px
    }
    .long-event-date .date-day {
        font-size: 20px
    }
    .long-event-date .date-month {
        font-size: 11px
    }
    .long-event-details h5 {
        font-size: 1rem;
        line-height: 1.3;
        padding-top: 1vh;
        padding-bottom: 6px
    }
    .long-event-venue-info {
        font-size: .875rem;
        line-height: 1.35
    }
    .long-event-time {
        font-size: .8125rem;
        margin-top: 2px
    }
    .support-acts {
        padding: 8px 12px 10px
    }
    .support-acts-label,
    .support-act-link,
    .support-acts-list {
        font-size: .8125rem
    }
}

.long-event-card {
    display: flex;
    align-items: flex-start;
    width: 100%;
    min-height: 0;
    padding: 16px;
    border: none;
    border-bottom: 1px solid #2a2a2a;
    border-radius: 0;
    background-color: #1a1a1a;
    position: relative;
    transition: background-color .2s ease, transform .3s
}

/* Archive / long listings — no arrow CTA, status chips, or Performing line */
.long-event-wrapper .long-event-action,
.long-event-wrapper .long-event-button,
.long-event-card .long-event-action,
.long-event-card .long-event-button,
.long-event-wrapper .long-event-status,
.long-event-card .long-event-status,
.long-event-wrapper + .support-acts,
.demo-container > .support-acts,
.et_pb_de_mach_archive_loop .support-acts {
    display: none !important
}

.long-event-card:hover {
    background-color: #222222
}

@media (hover: hover) and (pointer: fine) {
    .long-event-card:hover {
        transform: translateY(-2px)
    }
}

.long-event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    align-self: flex-start;
    flex: 0 0 auto;
    background-color: var(--event-date-bg-color, var(--accent-color));
    color: #fff;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    width: 80px;
    /* Reserve day + month + year so JS-injected .date-year does not shift layout */
    min-height: 4.75rem;
    height: auto;
    padding: 10px 6px;
    margin-right: 16px;
    flex-shrink: 0;
    box-sizing: border-box
}

.long-event-details h5,
.long-event-time,
.long-event-venue-info {
    font-family: var(--h5-font-family, 'Montserrat', sans-serif);
    color: var(--glasswerk-event-artist-color, #333)
}

.long-event-date .date-day {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    color: #fff
}

.long-event-date .date-month {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
    color: #fff;
    margin-top: 2px
}

.long-event-date .date-year {
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    margin-top: 2px
}

.long-event-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-self: flex-start;
    min-width: 0;
    margin-right: 0
}

.long-event-details h5 {
    font-size: clamp(15px, 1.3vw, 19px);
    font-weight: 600;
    margin: 0;
    padding: 1vh 0 4px;
    line-height: 1.2
}

.long-event-venue-info {
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 400;
    margin: 0;
    padding: 0 0 2px;
    line-height: 1.2;
    opacity: .8
}

.long-event-time {
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 500;
    margin: 0;
    padding: 0;
    line-height: 1;
    opacity: .7
}

.long-event-status {
    margin-right: 16px;
    flex-shrink: 0
}

.long-event-status .status-label {
    display: inline-block;
    position: relative;
    color: #fff;
    font-family: var(--glasswerk-font-body, 'Montserrat', sans-serif);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    padding: 6px 12px;
    margin: 0;
    line-height: 1;
    border-radius: 4px;
    white-space: nowrap
}

.long-event-status .status-label[data-status="Waiting List"],
.status-label[data-status="Waiting List"] {
    background-color: var(--status-sold-out-bg)
}

.long-event-status .status-label[data-status="Postponed"],
.status-label[data-status="Postponed"] {
    background-color: var(--status-postponed-bg)
}

.long-event-status .status-label[data-status="On Sale Soon"],
.status-label[data-status="On Sale Soon"] {
    background-color: var(--status-on-sale-soon-bg)
}

.long-event-status .status-label[data-status="Register For Presale"],
.status-label[data-status="Register For Presale"] {
    background-color: var(--status-presale-bg)
}

.long-event-status .status-label[data-status="Cancelled"],
.status-label[data-status="Cancelled"] {
    background-color: var(--status-cancelled-bg)
}

.long-event-status .status-label[data-status="Moved"],
.status-label[data-status="Moved"] {
    background-color: var(--status-moved-bg)
}

@media (max-width:480px) {
    .long-event-status .status-label {
        width: 22px !important;
        height: 22px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        font-size: 12px !important;
        font-family: dashicons !important
    }
    .long-event-status .status-label[data-status="Cancelled"]::before {
        content: " " !important
    }
    .long-event-status .status-label[data-status="Waiting List"]::before {
        content: " " !important
    }
    .long-event-status .status-label[data-status="On Sale Soon"]::before,
    .long-event-status .status-label[data-status="Register For Presale"]::before {
        content: " " !important
    }
    .long-event-status .status-label[data-status="Postponed"]::before {
        content: " " !important
    }
    .long-event-status .status-label[data-status="Moved"]::before {
        content: " " !important
    }
}

.long-event-action {
    flex-shrink: 0
}

.long-event-button .arrow-icon {
    color: inherit;
    font-size: 1rem;
    line-height: 1
}

.support-acts-label,
.support-acts-list {
    font-size: 14px
}

.support-acts {
    padding: 4px 16px 8px
}

.support-acts-label {
    font-weight: 400;
    color: var(--glasswerk-event-artist-color, #333);
    margin-right: 6px
}

.support-act-link,
.support-acts-list a {
    display: inline;
    font-weight: 400;
    color: var(--accent-color);
    text-decoration: underline;
    margin-right: 8px
}

.support-acts-list {
    display: inline;
    line-height: 1.4;
    font-weight: 400
}

.support-acts-list a {
    font-size: inherit;
    font-family: inherit
}

.support-act-link:hover,
.support-acts-list a:hover {
    color: var(--accent-color-hover)
}

.support-act-link:not(:last-child):after,
.support-acts-list a:not(:last-child):after {
    content: ", ";
    margin-left: -8px;
    margin-right: 0
}

.support-act-link {
    font-size: 12px
}

.demo-container {
    padding: 0;
    max-width: none;
    width: 100%;
    margin: 0
}

.glasswerk-default-layout-header-container {
    background-color: #0d0d0d;
    justify-content: center;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    gap: 0
}

.glasswerk-default-layout-main-header {
    padding: 0;
    margin: 0
}

.glasswerk-default-layout-top-section {
    width: 100%;
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    justify-content: center
}

.glasswerk-default-layout-logo-search-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 1152px;
    margin: 0 auto;
    justify-content: space-between
}

.glasswerk-default-layout-logo-container {
    width: 200px;
    flex-shrink: 0;
    padding: 8px 0
}

.glasswerk-default-layout-logo-container svg {
    width: 100%;
    height: auto;
    display: block;
    fill: #ffffff
}

.glasswerk-default-layout-search-bar-container {
    flex-grow: 1;
    margin: 0 20px
}

.glasswerk-default-layout-search-bar-container input[type=text] {
    width: 100%;
    padding: 8px 15px;
    border-radius: 0;
    border: 1px solid var(--glasswerk-hero-button-bg-color, #333);
    background: rgba(255, 255, 255, .1);
    color: var(--menu-text-color, #fff);
    font-size: 16px
}

.glasswerk-default-layout-search-bar-container input[type=text]::placeholder {
    color: rgba(255, 255, 255, .6)
}

.glasswerk-default-layout-header-container .et_pb_row,
.glasswerk-default-layout-header-container .et_pb_column {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important
}

.glasswerk-default-layout-nav-row {
    position: relative;
    padding: 0;
    margin: 0;
    display: none;
    background-color: #141414;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-top: 0
}

.glasswerk-default-layout-desktop-nav {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 30px;
    height: 40px
}

.glasswerk-default-layout-desktop-nav a,
.glasswerk-default-layout-mobile-menu a {
    color: var(--menu-text-color, #fff);
    font-family: var(--menu-font-family, inherit);
    text-transform: var(--menu-text-transform, capitalize);
    font-weight: var(--menu-font-weight, normal);
    transition: background-color .3s;
    align-items: center;
    letter-spacing: .5px;
    text-decoration: none
}

.glasswerk-default-layout-desktop-nav a {
    font-size: var(--menu-font-size, 14px);
    position: relative;
    height: 100%;
    display: flex;
    padding: 0 20px
}

.glasswerk-default-layout-desktop-nav a,
.glasswerk-default-layout-desktop-nav a:hover,
.glasswerk-default-layout-desktop-nav a.active {
    color: #f3f3f3
}

.glasswerk-default-layout-desktop-nav a:hover,
.glasswerk-default-layout-desktop-nav a.active {
    background-color: #2a2a2a;
    color: #ffffff
}

.glasswerk-default-layout-mobile-menu a.active,
.glasswerk-default-layout-mobile-menu a:hover {
    background-color: #2a2a2a;
    color: #ffffff
}

.glasswerk-default-layout-nav-row {
    border-bottom: 1px solid #2a2a2a
}

@media (min-width:769px) {
    .glasswerk-default-layout-nav-row {
        display: block
    }
    .glasswerk-default-layout-icon-container,
    .glasswerk-default-layout-mobile-search-dropdown,
    .glasswerk-default-layout-mobile-search-icon-container,
    .glasswerk-default-layout-slide-in-menu-container {
        display: none !important
    }
}

.glasswerk-default-layout-mobile-search-dropdown {
    max-height: 0;
    overflow: hidden;
    background-color: #0d0d0d;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    padding: 0 20px;
    width: 100%;
    transition: max-height .3s, padding .3s;
    position: relative;
    z-index: 100;
    display: block !important
}

.glasswerk-default-layout-mobile-search-dropdown.active {
    max-height: 400px;
    padding: 0 20px 15px;
    overflow: visible
}

.glasswerk-default-layout-mobile-search-bar-dropdown {
    max-width: 100%;
    margin: 0 auto;
    width: 100%
}

.glasswerk-default-layout-mobile-search-bar-dropdown input[type=text] {
    width: 100%;
    padding: 12px 15px;
    border-radius: 0;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
    color: var(--menu-text-color, #fff);
    font-family: var(--menu-font-family, inherit);
    font-size: 16px
}

.glasswerk-default-layout-mobile-search-bar-dropdown input[type=text]::placeholder {
    color: rgba(255, 255, 255, .6)
}

.glasswerk-default-layout-slide-in-menu-container {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    background-color: #0d0d0d;
    transition: right .3s;
    z-index: 1000;
    padding: 0;
    overflow-y: auto
}

body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%
}

.glasswerk-default-layout-slide-in-menu-container.active {
    right: 0
}

.glasswerk-default-layout-mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 20px;
    max-width: 500px;
    margin: 95px auto 0;
    width: 100%;
    transition: margin-top .3s
}

.glasswerk-default-layout-mobile-menu.search-active {
    margin-top: 175px
}

.glasswerk-default-layout-mobile-menu a {
    font-size: var(--menu-font-size, 1.4em);
    position: relative;
    text-align: left;
    height: 50px;
    display: flex;
    justify-content: flex-start;
    width: 100%;
    padding: 5px 10px
}

.glasswerk-default-layout-social-icons {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0
}

.glasswerk-default-layout-social-icon {
    text-decoration: none
}

.glasswerk-default-layout-social-icon .dashicons {
    color: #fff;
    font-size: 30px;
    width: 30px;
    height: 30px
}

.glasswerk-default-layout-mobile-social-icons {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 15px;
    margin-top: 30px;
    padding: 5px;
    border-top: 1px solid rgba(255, 255, 255, .1)
}

.glasswerk-default-layout-mobile-social-icon {
    text-decoration: none;
    color: var(--menu-text-color, #fff)
}

.glasswerk-default-layout-mobile-social-icon .dashicons {
    color: var(--menu-text-color, #fff);
    font-size: 40px;
    width: 40px;
    height: 40px
}

.glasswerk-default-layout-mobile-social-icon:hover,
.glasswerk-default-layout-mobile-social-icon:hover .dashicons,
.glasswerk-default-layout-social-icon:hover,
.glasswerk-default-layout-social-icon:hover .dashicons {
    opacity: 1;
    color: var(--menu-text-color, #fff)
}

.glasswerk-default-layout-social-label {
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: .5px
}

.search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    display: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, .1)
}

.search-results.active {
    display: block !important
}

.search-result-title {
    color: #333
}

.search-result-meta {
    font-size: 12px;
    color: #666
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-venue,
.search-result-venue {
    color: var(--accent-color);
    font-weight: 500
}

.search-result-date {
    color: #999
}

.search-loading,
.search-no-results {
    padding: 15px;
    text-align: center;
    color: #666;
    font-style: italic
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-item,
.search-result-item {
    padding: 12px 15px;
    transition: background-color .2s;
    cursor: pointer
}

.search-result-date-badge,
.search-result-date-day,
.search-result-date-month {
    color: var(--event-date-text-color, #fff)
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #0d0d0d;
    border: 1px solid rgba(255, 255, 255, .2);
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 250px;
    overflow-y: auto;
    z-index: 1001;
    display: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, .3)
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-results.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: #0d0d0d !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    z-index: 1001 !important
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-item:last-child,
.search-result-item:last-child {
    border-bottom: none
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-meta {
    font-size: 12px;
    color: rgba(255, 255, 255, .7)
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-date {
    color: rgba(255, 255, 255, .5)
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-loading,
.glasswerk-default-layout-mobile-search-bar-dropdown .search-no-results {
    padding: 15px;
    text-align: center;
    color: rgba(255, 255, 255, .7);
    font-style: italic
}

.search-result-item {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    min-height: 80px;
    gap: 15px
}

.search-result-item:hover {
    background-color: #f8f9fa
}

.search-result-date-badge {
    background-color: var(--event-date-bg-color, var(--accent-color));
    width: 60px;
    height: 60px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: var(--glasswerk-font-body, Arial, sans-serif);
    margin-right: 15px;
    flex-shrink: 0;
    border: 1px solid #e0e0e0
}

.search-result-date-day {
    font-size: 20px;
    font-weight: 700;
    line-height: 1
}

.search-result-date-month {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
    margin-top: 2px
}

.search-result-title,
.search-result-venue-city {
    color: var(--glasswerk-event-artist-color, #333);
    line-height: 1.2;
    font-family: var(--glasswerk-font-body, Arial, sans-serif)
}

.alt-event-details h3,
.alt-event-venue-info,
.ticket-name-price,
.ticket-status {
    font-family: var(--h5-font-family, 'Montserrat', sans-serif)
}

.search-result-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.search-result-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 4px
}

.search-result-venue-city {
    font-size: 14px;
    opacity: .8
}

.ticket-name-price,
.ticket-status {
    line-height: 1.2
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-item {
    background-color: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    min-height: 70px
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-item:hover {
    background-color: rgba(255, 255, 255, .1)
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-date-badge {
    width: 50px;
    height: 50px;
    margin-right: 12px
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-date-day {
    font-size: 18px
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-date-month {
    font-size: 11px
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-title {
    font-weight: 600;
    margin-bottom: 4px;
    font-size: 15px;
    color: #fff
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-venue-city {
    font-size: 13px;
    color: rgba(255, 255, 255, .7)
}

.search-result-image {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden
}

.headlining-image img,
.search-result-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.glasswerk-default-layout-mobile-search-bar-dropdown .search-result-image {
    width: 50px;
    height: 50px
}

.alt-event-date,
.map-address-corner {
    top: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .1)
}

.event-button,
.ticket-button-right,
.ticket-info-left {
    min-height: 60px;
    display: flex
}

@media (max-width:1024px) {
    .clean-hero-slide {
        width: 90vw
    }
}

.my-marker-inner {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid red
}

.leaflet-container,
.leaflet-map,
.map-wrapper {
    border-radius: 4px !important;
    position: relative !important
}

.clean-hero-event-details {
    font-size: 1.1em;
    font-weight: 600;
    color: #fff;
    margin: .5rem 0
}

.clean-hero-event-details strong {
    font-weight: 700;
    color: #fff
}

.leaflet-marker-icon.custom-osm-marker.leaflet-zoom-animated.leaflet-interactive {
    width: 40px !important;
    height: 40px !important;
    margin-left: -20px !important;
    margin-top: -20px !important
}

.leaflet-marker-icon.custom-osm-marker.leaflet-zoom-animated.leaflet-interactive svg {
    width: 40px !important;
    height: 40px !important;
    stroke: none !important;
    fill: var(--accent-color) !important
}

.map-wrapper {
    padding: 20px !important;
    background: #fefefe !important
}

.event-map {
    position: relative !important
}

.event-button {
    justify-content: space-between;
    align-items: flex-start;
    width: 100%
}

/* Unified primary button — matches ticket page Buy Tickets */
.glasswerk-btn,
a.glasswerk-btn,
a.hero-button,
.hero-button,
a.btn-custom,
.btn-custom,
.tour-dates-link,
.genre-buttons a,
.navigation button,
.signup-button,
.presale-form__button,
.slide-action .hero-button,
.slide-action a.hero-button,
.pa-inline-buttons a.hero-button,
.pa-inline-buttons a.buy-tickets,
.clean-hero-slide-actions a.hero-button,
.clean-hero-slide-actions a.buy-tickets,
.dmach-loadmore,
a.dmach-loadmore,
.et_pb_de_mach_archive_loop .dmach-loadmore,
.et_pb_de_mach_load_more_button_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    padding: var(--glasswerk-button-padding, 16px 32px) !important;
    min-height: 44px;
    border-radius: var(--glasswerk-button-radius, 4px) !important;
    border: none;
    font-family: var(--glasswerk-hero-button-font, var(--glasswerk-button-font-family, var(--glasswerk-font-body)));
    font-size: var(--glasswerk-hero-button-size, var(--glasswerk-button-size, 1rem));
    font-weight: var(--glasswerk-hero-button-weight, var(--glasswerk-button-weight, 600));
    line-height: 1.25;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
    cursor: pointer;
    background-color: var(--glasswerk-hero-button-bg-color, #f3f3f3) !important;
    color: var(--glasswerk-hero-button-color, #1e1e1e) !important;
    border: 1px solid #e0e0e0 !important;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease
}

.glasswerk-btn:hover,
a.glasswerk-btn:hover,
a.hero-button:hover,
.hero-button:hover,
a.btn-custom:hover,
.btn-custom:hover,
.tour-dates-link:hover,
.genre-buttons a:hover,
.navigation button:hover,
.signup-button:hover,
.presale-form__button:hover,
.slide-action .hero-button:hover,
.slide-action a.hero-button:hover,
.pa-inline-buttons a.hero-button:hover,
.pa-inline-buttons a.buy-tickets:hover,
.clean-hero-slide-actions a.hero-button:hover,
.clean-hero-slide-actions a.buy-tickets:hover,
.dmach-loadmore:hover,
a.dmach-loadmore:hover,
.et_pb_de_mach_archive_loop .dmach-loadmore:hover,
.et_pb_de_mach_load_more_button_link:hover {
    background-color: var(--glasswerk-hero-button-hover-bg-color, #e6e6e6) !important;
    color: var(--glasswerk-hero-button-hover-color, #1e1e1e) !important;
    opacity: 1
}

/* Icon-only buttons — same colours, square */
.glasswerk-btn--icon,
.long-event-button,
.slider-nav,
.mobile-nav-container .slider-nav,
.see-all-tours-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0 !important;
    border: none;
    border-radius: var(--glasswerk-button-radius, 4px) !important;
    box-sizing: border-box;
    cursor: pointer;
    background-color: var(--glasswerk-hero-button-bg-color, #f3f3f3) !important;
    color: var(--glasswerk-hero-button-color, #1e1e1e) !important;
    border: 1px solid #e0e0e0 !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease
}

/* Divi / theme overrides often zero out padding and radius */
.et_pb_button.glasswerk-btn,
.et_pb_button.hero-button,
.et_pb_button.buy-tickets,
a.et_pb_button,
button.et_pb_button,
input.et_pb_button,
.et_pb_de_mach_load_more_button_link.et_pb_button,
.genre-buttons .et_pb_button,
.filter-form button,
.filter-form input[type=submit],
.filter-form .et_pb_button,
.city-filter-container button,
.city-filter-container input[type=submit],
button,
input[type=button],
input[type=submit] {
    padding: var(--glasswerk-button-padding, 16px 32px) !important;
    border-radius: var(--glasswerk-button-radius, 4px) !important;
    overflow: hidden
}

.glasswerk-btn--icon:hover,
.slider-nav:hover,
.mobile-nav-container .slider-nav:hover,
.see-all-tours-link:hover {
    background-color: var(--glasswerk-hero-button-hover-bg-color, #e6e6e6) !important;
    color: var(--glasswerk-hero-button-hover-color, #1e1e1e) !important
}

.ticket-button-right a.hero-button,
.ticket-button-right .hero-button {
    height: auto !important;
    min-height: 44px;
    width: auto;
    max-width: none
}

.age-restriction .dashicons,
.headlining-name a:hover,
.lineup-support-artist a:hover,
.ticket-name-price {
    color: var(--accent-color)
}

.ticket-info-left {
    flex: 1;
    flex-direction: column;
    justify-content: center
}

.ticket-name-price {
    font-size: 20px;
    font-weight: var(--h5-font-weight, 600);
    margin-bottom: 4px
}

.ticket-status {
    font-size: 14px;
    font-weight: 400;
    color: #f3f3f3
}

.ticket-button-right {
    flex-shrink: 0;
    align-items: center;
    width: auto
}

.ticket-button-right * {
    height: 100%
}

@media (max-width:768px) {
    .long-event-date,
    .long-event-details {
        margin-right: 12px
    }
    .long-event-card {
        padding: 12px;
        min-height: 70px
    }
    .long-event-date {
        width: 65px;
        height: auto;
        min-height: 0
    }
    .long-event-date .date-day {
        font-size: 20px
    }
    .long-event-date .date-month {
        font-size: 13px
    }
    .long-event-status {
        margin-right: 12px;
        position: static;
        margin-top: 4px
    }
    .long-event-status .status-label {
        font-size: 10px;
        padding: 4px 8px
    }
    .long-event-button {
        width: 38px;
        height: 38px;
        font-size: 10px
    }
    .support-acts {
        padding: 3px 12px 6px
    }
    .support-act-link,
    .support-acts-label,
    .support-acts-list {
        font-size: 11px
    }
    .glasswerk-default-layout-nav-row,
    .glasswerk-default-layout-search-bar-container {
        display: none
    }
    .glasswerk-default-layout-header-container .glasswerk-default-layout-social-icons,
    .glasswerk-default-layout-logo-search-wrapper .glasswerk-default-layout-social-icons {
        display: none !important
    }
    .glasswerk-default-layout-mobile-search-dropdown {
        display: block !important
    }
    .glasswerk-default-layout-icon-container,
    .glasswerk-default-layout-mobile-search-icon-container {
        width: 60px;
        flex-shrink: 0
    }
    #mobile-search-toggle,
    #slide-in-open {
        display: block;
        cursor: pointer;
        font-size: 28px;
        color: var(--glasswerk-hero-button-bg-color, #333);
        padding: 0;
        line-height: 1;
        transition: opacity .3s
    }
    .glasswerk-default-layout-icon-container:hover,
    .glasswerk-default-layout-mobile-search-icon-container:hover {
        background-color: rgba(255, 255, 255, .1)
    }
    .glasswerk-default-layout-logo-search-wrapper {
        margin: 0;
        max-width: none;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
        height: 100%
    }
    .glasswerk-default-layout-icon-container,
    .glasswerk-default-layout-mobile-search-icon-container {
        top: 0;
        bottom: 0;
        height: 100%;
        align-items: center;
        border-radius: 0;
        transition: background-color .3s;
        display: flex
    }
    .glasswerk-default-layout-mobile-search-icon-container {
        position: absolute;
        left: 8px;
        justify-content: center;
        background-color: transparent
    }
    .glasswerk-default-layout-logo-container {
        position: absolute;
        left: 60px;
        right: 60px;
        top: 0;
        bottom: 0;
        transform: none;
        width: auto;
        flex-shrink: 0;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        background-color: #0d0d0d
    }
    .glasswerk-default-layout-logo-container svg {
        fill: #ffffff;
        height: 30px;
        width: auto
    }
    .glasswerk-default-layout-icon-container {
        position: absolute;
        right: 8px;
        justify-content: center;
        background-color: transparent
    }
    .glasswerk-default-layout-top-section {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0;
        padding: 15px 0;
        width: 100%;
        min-height: 80px;
        position: relative
    }
    .clean-hero-slide-artist {
        font-size: var(--universal-text-mobile-headline)
    }
    .clean-hero-slide {
        width: 90vw
    }
    .clean-hero-event-details {
        font-size: .95em
    }
    .ticket-name-price {
        font-size: 18px !important;
        margin-bottom: 8px
    }
}

.leaflet-map:before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    background: #fefefe;
    border-radius: 4px;
    z-index: -1
}

.map-address-corner {
    position: absolute;
    right: 8px;
    background: #fefefe;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    color: #333;
    z-index: 1000;
    max-width: 250px;
    word-wrap: break-word;
    line-height: 1.3
}

.leaflet-container .leaflet-tile-pane img {
    filter: grayscale(100%) !important
}

.leaflet-marker-icon.custom-osm-marker {
    filter: none !important
}

.city-filter-container {
    background: #1a1a1a;
    padding: 15px 20px;
    margin-bottom: 30px;
    border-top: 1px solid #2a2a2a;
    border-bottom: 1px solid #2a2a2a
}

.filter-form {
    display: flex;
    align-items: center;
    gap: 15px
}

.filter-group {
    display: flex;
    align-items: center;
    gap: 10px
}

.filter-group label {
    font-weight: 600;
    color: #f3f3f3;
    font-size: 14px;
    margin: 0
}

.filter-group select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background: #111111;
    color: #f3f3f3;
    min-width: 180px
}

.filter-group select:focus {
    outline: 0;
    border-color: #555555;
    box-shadow: 0 0 0 2px rgba(30, 30, 30, .08)
}

.filter-results-info {
    margin-top: 10px;
    padding: 10px;
    background: #1a1a1a;
    border-left: 4px solid #3a3a3a;
    font-size: 14px;
    color: #f3f3f3
}

@media (max-width:480px) {
    .long-event-card {
        padding: 12px;
        min-height: 60px
    }
    .long-event-date {
        width: 58px;
        height: auto;
        min-height: 0;
        margin-right: 10px
    }
    .long-event-date .date-day {
        font-size: 18px
    }
    .long-event-date .date-month {
        font-size: 12px
    }
    .long-event-details {
        margin-right: 8px
    }
    .long-event-status {
        margin-right: 8px;
        position: static;
        margin-top: 4px
    }
    .long-event-button {
        width: 32px;
        height: 32px;
        font-size: 9px
    }
    .support-acts {
        padding: 2px 10px 5px
    }
    .support-act-link,
    .support-acts-label,
    .support-acts-list {
        font-size: 10px
    }
    .clean-hero-slide-artist {
        font-size: var(--universal-text-small-mobile-headline)
    }
    .clean-hero-event-details {
        font-size: .9em
    }
    .event-button {
        gap: 12px
    }
    .ticket-button-right * {
        max-width: 180px
    }
    .ticket-name-price {
        font-size: 18px !important
    }
    .city-filter-container {
        padding: 12px 15px
    }
    .long-event-status .status-label {
        width: 32px;
        height: 32px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 18px;
        font-family: dashicons
    }
}

.artist-venue-row {
    display: flex;
    align-items: center;
    margin-bottom: 10px
}

.artist-venue-info,
.headlining-info {
    flex: 1
}

.clean-hero-slide-artist {
    margin-bottom: .5rem
}

@media (min-width:769px) {
    .artist-venue-info .clean-hero-slide-promoter {
        display: block;
        margin-bottom: .5rem
    }
    .desktop-promoter {
        display: none
    }
    .hero-event-date {
        padding: 20px 16px;
        min-width: 100px;
        min-height: 100px;
        margin-right: 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }
    .hero-event-date .date-day {
        font-size: 32px;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 4px
    }
    .hero-event-date .date-month {
        font-size: 14px;
        text-transform: uppercase;
        line-height: 1
    }
    .artist-venue-row {
        align-items: stretch;
        gap: 0
    }
    .artist-venue-info {
        padding-top: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 100px
    }
}

.concert-lineup-section {
    margin: 30px 0;
    padding: 0;
    border-radius: 4px
}

.headlining-artist {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px
}

.headlining-image {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden
}

.headlining-label {
    font-size: 12px;
    font-weight: 600;
    color: #c8c8c8;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 5px
}

.headlining-name {
    font-size: 20px;
    font-weight: 700;
    margin: 0
}

.lineup-genres-label,
.lineup-support-label {
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 10px;
    color: #c8c8c8
}

.headlining-name a {
    color: #f3f3f3;
    text-decoration: none
}

.lineup-genres,
.lineup-support-acts {
    margin-top: 20px
}

.lineup-support-label {
    font-size: 12px;
    font-weight: 600
}

.lineup-support-artists {
    display: flex;
    flex-wrap: wrap;
    gap: 15px
}

.lineup-support-artist {
    font-size: 16px;
    font-weight: 500
}

.lineup-support-artist a {
    color: #f3f3f3;
    text-decoration: underline
}

.lineup-genres-label {
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px
}

.lineup-genres-label .dashicons {
    font-size: 14px;
    color: #666
}

.lineup-genres-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.lineup-genre {
    font-size: 14px;
    font-weight: 500;
    color: #f3f3f3;
    text-decoration: underline;
    background: 0 0;
    border-radius: 0;
    padding: 0;
    transition: color .2s
}

.lineup-genre:focus,
.lineup-genre:hover {
    color: var(--accent-color);
    text-decoration: underline
}

.age-restriction .dashicons,
.event-timings-row .dashicons {
    font-size: 16px;
    margin-right: 4px
}

.lineup-section-divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 20px 0 16px;
    opacity: .6
}

.event-timings-row {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 12px;
    font-size: 14px;
    color: #f3f3f3
}

.event-timing-group {
    display: flex;
    align-items: center;
    gap: 0
}

.age-restriction {
    display: flex;
    align-items: center;
    gap: 0;
    font-size: 14px;
    color: #f3f3f3
}

.event-bio-section,
.event-bio-container,
.event-bio-content,
.event-bio-full,
.event-bio-text {
    background-color: transparent !important;
}

.event-bio-container {
    margin: 0;
}

.event-bio-full,
.event-bio-text {
    font-family: var(--p-font-family, var(--glasswerk-font-body));
    font-size: var(--p-font-size, var(--glasswerk-paragraph-size, 1rem));
    font-weight: var(--p-font-weight, var(--glasswerk-paragraph-weight, 400));
    line-height: var(--p-line-height, 1.5);
    color: var(--p-color, var(--glasswerk-paragraph-color, #333));
    margin-bottom: 0;
}

/* Ticket / event detail cards sit on the dark page. */
.et_pb_row.boxed-layout .event-long-card-listings-container.et_pb_column,
.event-long-card-listings-container.et_pb_with_border {
    background-color: #111111 !important;
}

.event-long-card-listings-container .et_pb_module:has(.event-bio-section) .et_pb_text_inner {
    background-color: transparent !important;
}

.read-more-link {
    font-family: var(--p-font-family, var(--glasswerk-font-body));
    color: var(--accent-color, var(--glasswerk-hero-button-bg-color));
    text-decoration: underline;
    cursor: pointer;
    font-weight: var(--glasswerk-paragraph-weight, 400);
    font-size: var(--p-font-size, var(--glasswerk-paragraph-size, 1rem));
    transition: color .3s, opacity .3s;
}

@media (max-width:768px) {
    .filter-form {
        flex-direction: column;
        align-items: stretch;
        gap: 10px
    }
    .filter-group {
        justify-content: space-between
    }
    .filter-group select {
        min-width: auto;
        flex: 1
    }
    .lineup-support-artist,
    .ticket-name-price {
        font-size: var(--text-sm, 14px);
    }
    .lineup-genre,
    .lineup-genres-label .dashicons,
    .long-event-date .date-month,
    .ticket-status {
        font-size: 12px;
    }
    .desktop-promoter {
        display: none
    }
    .artist-venue-info .clean-hero-slide-promoter {
        display: block;
        margin-bottom: .3rem
    }
    .clean-hero-slide-promoter {
        margin-bottom: .5rem;
        font-size: 16px
    }
    .artist-venue-row {
        flex-direction: row;
        align-items: flex-start;
        gap: 10px
    }
    .artist-venue-info {
        flex: 1;
        display: flex;
        flex-direction: column
    }
    .clean-hero-slide-artist {
        margin-bottom: .3rem;
        font-size: 28px
    }
    .slide-tour-text {
        font-size: 16px;
        padding: 0
    }
    .long-event-date {
        padding: 6px 10px
    }
    .headlining-name,
    .long-event-date .date-day {
        font-size: 18px
    }
    .headlining-artist {
        flex-direction: row;
        text-align: left;
        gap: 15px;
        align-items: center
    }
    .headlining-image {
        width: 80px;
        height: 80px;
        flex-shrink: 0
    }
    .headlining-info {
        flex: 1
    }
    .lineup-support-artists {
        flex-direction: column;
        gap: 8px
    }
    .lineup-genres {
        margin-top: 15px
    }
    .lineup-genres-label {
        font-size: 11px
    }
    .lineup-genres-list {
        gap: 8px
    }
    .lineup-genre {
        padding: 3px 6px
    }
    .alt-event-venue-info {
        font-size: clamp(12px, 1vw, 14px)
    }
}

.glasswerk-signup-container,
.signup-form {
    width: 100%;
    margin: 0;
    padding: 0
}

.signup-input-group {
    display: flex;
    width: 100%;
    gap: 0
}

.signup-input {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    padding: 18px 16px;
    border: 1px solid #ccc;
    border-right: none;
    border-radius: 4px 0 0 4px;
    outline: 0
}

.signup-button {
    border-radius: 0 var(--glasswerk-button-radius, 4px) var(--glasswerk-button-radius, 4px) 0
}

@media (max-width:600px) {
    .event-button {
        flex-direction: column;
        gap: 10px;
        align-items: center;
        text-align: center
    }
    .ticket-button-right,
    .ticket-info-left {
        width: 100% !important
    }
    .ticket-button-right {
        display: flex;
        justify-content: center;
        align-items: center
    }
    .ticket-button-right * {
        height: auto !important;
        max-width: none
    }
    .ticket-button-right a,
    .ticket-button-right .hero-button,
    .ticket-button-right .et_pb_button,
    .ticket-button-right .glasswerk-btn {
        margin-left: auto;
        margin-right: auto
    }
    .signup-input-group {
        flex-direction: column
    }
    .signup-button,
    .signup-input {
        border-radius: 4px !important;
        border-right: 1px solid #ccc !important;
        width: 100%;
        box-sizing: border-box;
        padding: 20px 16px !important
    }
    .signup-button {
        margin-top: 8px;
        padding: 20px 24px !important
    }
}

.share-section {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 1vh 0;
    margin: 0;
    width: auto;
    justify-content: flex-end
}

.share-section .event-pricing-details {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    font-weight: 700;
    font-size: .9em;
    flex: none
}

.share-section .share-buttons {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin: 0;
    padding: 0;
    flex: none
}

.share-section .share-button {
    width: 32px;
    height: 32px
}

.alt-event-card {
    display: flex;
    flex-direction: column;
    max-width: 280px;
    width: 100%;
    min-height: 250px;
    height: auto;
    border-radius: var(--glasswerk-event-card-border-radius);
    border: var(--glasswerk-event-card-border-width) solid var(--glasswerk-event-card-border-color);
    overflow: hidden;
    background-color: var(--glasswerk-event-card-bg);
    position: relative;
    transition: transform .3s, box-shadow .3s;
    line-height: 0;
    font-size: 0
}

.alt-event-card .dashicons {
    position: absolute;
    bottom: 8px;
    right: 8px;
    color: var(--glasswerk-event-artist-color, #000);
    font-size: 16px;
    z-index: 3;
    opacity: .8
}

.alt-event-image-container {
    position: relative;
    width: 100%;
    max-height: 170px;
    height: 170px;
    overflow: hidden;
    background: url('/wp-content/uploads/2025/07/placeholder-image.jpg') center/cover no-repeat;
    border-bottom: var(--glasswerk-event-card-border-width) solid var(--glasswerk-event-card-border-color);
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important
}

.alt-event-image {
    width: 100%;
    height: 100%;
    position: relative;
    transition: transform .8s
}

.alt-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.alt-event-details {
    flex: 1;
    padding: 15px;
    background-color: var(--glasswerk-event-card-bg);
    border-top: 1px solid #eee;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
    font-size: initial;
    line-height: normal;
    position: relative;
    min-height: 80px;
    height: auto
}

.alt-event-card:hover .alt-event-details {
    background-color: var(--glasswerk-event-card-hover-bg)
}

.alt-event-details h3 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.2;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
    padding-bottom: 0
}

.alt-event-arrow-container {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: flex-end;
    margin-top: auto
}

.alt-event-card:hover .alt-event-arrow {
    transform: translateX(5px)
}

.alt-event-venue-info {
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 400;
    margin: 0;
    padding: 0 0 4px;
    line-height: 1.2;
    color: var(--glasswerk-event-artist-color);
    opacity: .8
}

.alt-event-date,
.alt-event-date .date-day,
.alt-event-date .date-month {
    color: var(--glasswerk-event-date-text)
}

.alt-event-date {
    position: absolute;
    right: 8px;
    background-color: var(--glasswerk-event-date-bg);
    font-family: Arial, sans-serif;
    font-weight: 700;
    text-align: center;
    border-radius: calc(var(--glasswerk-event-card-border-radius) * .6);
    border: var(--glasswerk-event-card-border-width) solid var(--glasswerk-event-card-border-color);
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2
}

.alt-event-date .date-day {
    font-size: 18px;
    line-height: 1.2
}

.alt-event-date .date-month {
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase
}

.alt-status-icon {
    position: absolute;
    bottom: 8px;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 3
}

.status-label {
    display: inline-block;
    position: relative;
    color: #fff;
    font-family: var(--glasswerk-font-body, 'Montserrat', sans-serif);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    padding: 6px 12px;
    margin: 0;
    line-height: 1;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

.status-label[data-status="Cancelled"]::before {
    content: "Cancelled"
}

.status-label[data-status="On Sale Soon"]::before {
    content: "On Sale Soon"
}

.status-label[data-status="Register For Presale"]::before {
    content: "Presale"
}

.status-label[data-status="Postponed"]::before {
    content: "Postponed"
}

.status-label[data-status="Waiting List"]::before {
    content: "Waiting List"
}

.status-label::before {
    content: attr(data-status);
}

.status-label[data-status="Moved"]::before {
    content: "Moved"
}

.image-container {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    overflow: hidden
}

.image-container .event-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (max-width:768px) {
    .text-xs {
        font-size: var(--text-xs-mobile)
    }
    .text-sm {
        font-size: var(--text-sm-mobile)
    }
    .text-base {
        font-size: var(--text-base-mobile)
    }
    .text-lg {
        font-size: var(--text-lg-mobile)
    }
    .text-xl {
        font-size: var(--text-xl-mobile)
    }
    .text-2xl {
        font-size: var(--text-2xl-mobile)
    }
    .text-3xl {
        font-size: var(--text-3xl-mobile)
    }
    .text-4xl {
        font-size: var(--text-4xl-mobile)
    }
    .text-5xl {
        font-size: var(--text-5xl-mobile)
    }
    .text-6xl {
        font-size: var(--text-6xl-mobile)
    }
    .desktop-menu,
    .desktop-promoter,
    .glasswerk-default-layout-nav-row,
    .glasswerk-default-layout-search-bar-container {
        display: none
    }
    .glasswerk-default-layout-header-container .glasswerk-default-layout-social-icons,
    .glasswerk-default-layout-logo-search-wrapper .glasswerk-default-layout-social-icons {
        display: none !important
    }
    .glasswerk-default-layout-mobile-search-dropdown {
        display: block
    }
    #search-icon-container,
    .hamburger-icon {
        display: flex;
        width: 40px;
        height: 40px
    }
    .search-icon {
        font-size: 20px
    }
    .hamburger-icon {
        width: 36px;
        height: 36px
    }
    .cards-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }
    .event-card {
        height: 75px;
        display: flex;
        align-items: stretch;
        border-radius: 4px
    }
    .event-image-container {
        width: 100px;
        height: 75px
    }
    .event-content {
        padding: 0 20px;
        min-height: 75px;
        display: flex;
        align-items: center
    }
    .event-title {
        font-size: .9rem
    }
    .event-arrow-container {
        width: 50px;
        height: 75px
    }
    .event-arrow {
        width: 16px;
        height: 16px
    }
    .glasswerk-event-slider {
        height: 45vh;
        padding: 0
    }
    .clean-hero-container,
    .clean-hero-section,
    .slider-container {
        height: 45vh
    }
    .slider-slide {
        flex: 0 0 100vw;
        height: 100%;
        margin: 0
    }
    .slide-content {
        bottom: 35px;
        left: 30px;
        right: 15px
    }
    .slide-promoter {
        font-size: var(--universal-text-mobile-promoter);
        padding-bottom: 0
    }
    .slide-artist {
        font-size: var(--universal-text-mobile-headline);
        margin: 0 0 .3rem
    }
    .slide-tour-text {
        font-size: var(--universal-text-mobile-subheadline);
        margin: 0 0 1rem
    }
    .event-button {
        flex-direction: column;
        align-items: center;
        width: 100%;
        text-align: center;
        gap: 10px
    }
    .event-price {
        padding-left: 0;
        text-align: center
    }
    .clean-hero-background-blur {
        display: none !important
    }
    .clean-hero-slide {
        width: 100vw !important;
        max-width: none !important;
        height: 100%;
        margin: 0 !important
    }
    .clean-hero-slide-background {
        max-width: none !important;
        width: 100% !important
    }
    .clean-hero-slide-content {
        bottom: 40px;
        left: 40px;
        right: 20px;
        padding-bottom: 0
    }
    .clean-hero-slide-promoter {
        font-size: var(--universal-text-promoter);
        padding-bottom: 0
    }
    .clean-hero-slide-artist {
        font-size: var(--universal-text-headline)
    }
    .clean-hero-breadcrumb {
        font-size: var(--universal-text-breadcrumb)
    }
    .clean-hero-breadcrumb-separator {
        margin: 0 .5rem
    }
    .event-long-card-listings-container {
        margin-left: 0;
        max-width: 90%
    }
    .long-event-date,
    .long-event-details {
        margin-right: 12px
    }
    .long-event-card {
        padding: 12px;
        min-height: 70px
    }
    .long-event-date {
        width: 65px;
        height: auto;
        min-height: 0
    }
    .long-event-status {
        margin-right: 12px;
        position: static;
        margin-top: 4px
    }
    .long-event-status .status-label {
        font-size: 10px;
        padding: 4px 8px
    }
    .long-event-button {
        width: 38px;
        height: 38px;
        font-size: 10px
    }
    .support-acts {
        padding: 3px 12px 6px
    }
    .lineup-genres-label,
    .support-act-link,
    .support-acts-label,
    .support-acts-list {
        font-size: 11px
    }
    .filter-form {
        flex-direction: column;
        align-items: stretch;
        gap: 10px
    }
    .filter-group {
        justify-content: space-between
    }
    .filter-group select {
        min-width: auto;
        flex: 1
    }
    .clean-hero-breadcrumb,
    .clean-hero-breadcrumb-current,
    .clean-hero-breadcrumb-link,
    .lineup-support-artist,
    .ticket-name-price {
        font-size: var(--text-sm, 14px);
    }
    .lineup-genre,
    .lineup-genres-label .dashicons,
    .long-event-date .date-month,
    .ticket-status {
        font-size: 12px;
    }
    .artist-venue-info .clean-hero-slide-promoter {
        display: block;
        margin-bottom: .3rem
    }
    .clean-hero-slide-promoter {
        margin-bottom: .5rem;
        font-size: 16px
    }
    .artist-venue-row {
        flex-direction: row;
        align-items: flex-start;
        gap: 10px
    }
    .artist-venue-info {
        flex: 1;
        display: flex;
        flex-direction: column
    }
    .clean-hero-slide-artist {
        margin-bottom: .3rem;
        font-size: 28px
    }
    .slide-tour-text {
        font-size: 16px;
        padding: 0
    }
    .long-event-date {
        padding: 6px 10px
    }
    .headlining-name,
    .long-event-date .date-day {
        font-size: 18px
    }
    .headlining-artist {
        flex-direction: row;
        text-align: left;
        gap: 15px;
        align-items: center
    }
    .headlining-image {
        width: 80px;
        height: 80px;
        flex-shrink: 0
    }
    .headlining-info {
        flex: 1
    }
    .lineup-support-artists {
        flex-direction: column;
        gap: 8px
    }
    .lineup-genres {
        margin-top: 15px
    }
    .lineup-genres-list {
        gap: 8px
    }
    .lineup-genre {
        padding: 3px 6px
    }
}

@media (max-width:480px) {
    .mobile-nav-container,
    .slider-slide.slide-center .slide-content {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto
    }
    .glasswerk-event-slider {
        height: 45vh;
        padding-bottom: 20px
    }
    .slider-slide {
        flex: 0 0 100vw;
        margin: 0
    }
    .slide-content {
        bottom: 30px;
        left: 25px;
        right: 10px
    }
    .slide-promoter {
        font-size: var(--universal-text-small-mobile-promoter);
        padding-bottom: 0
    }
    .slide-artist {
        font-size: var(--universal-text-small-mobile-headline);
        margin: 0 0 .2rem
    }
    .slide-tour-text {
        font-size: var(--universal-text-small-mobile-subheadline);
        margin: 0 0 1rem
    }
    .slide-dots-container,
    .slider-dot-inline {
        display: none
    }
    .slide-action .hero-button {
        padding: 8px 16px !important;
        font-size: var(--universal-text-small-mobile-button) !important
    }
    .mobile-nav-container {
        bottom: 30px;
        right: 25px;
        gap: 6px
    }
    .mobile-nav-container .slider-nav {
        width: 36px;
        height: 36px
    }
    .event-arrow,
    .mobile-nav-container .slider-nav svg {
        width: 14px;
        height: 14px
    }
    .event-card {
        height: 65px;
        display: flex;
        align-items: stretch;
        border-radius: 4px
    }
    .event-image-container {
        width: 85px;
        height: 65px
    }
    .event-content {
        padding: 0 18px;
        min-height: 65px;
        display: flex;
        align-items: center
    }
    .event-title {
        font-size: .85rem
    }
    .event-arrow-container {
        width: 45px;
        height: 65px
    }
    .clean-hero-section {
        height: 45vh
    }
    .clean-hero-slide {
        width: 100vw;
        height: 100%
    }
    .clean-hero-slide-bg-image {
        width: 100%;
        height: 100%
    }
    .clean-hero-slide-content {
        bottom: 30px;
        left: 25px;
        right: 10px;
        padding-bottom: 0
    }
    .clean-hero-slide-promoter {
        font-size: 12px !important;
        padding-bottom: 0
    }
    .clean-hero-slide-artist {
        font-size: 26px
    }
    .clean-hero-breadcrumb,
    .slide-tour-text {
        font-size: 16px;
        padding: 0
    }
    .clean-hero-breadcrumb-separator {
        margin: 0 .3rem
    }
    .event-long-card-listings-container {
        margin-left: 0;
        max-width: 100vw
    }
    .long-event-card {
        padding: 12px;
        min-height: 60px
    }
    .long-event-date {
        width: 58px;
        height: auto;
        min-height: 0;
        margin-right: 10px
    }
    .long-event-date .date-day,
    .ticket-name-price {
        font-size: 18px
    }
    .long-event-date .date-month {
        font-size: 12px
    }
    .long-event-details {
        margin-right: 8px
    }
    .long-event-status {
        margin-right: 8px;
        position: static;
        margin-top: 4px
    }
    .long-event-button {
        width: 32px;
        height: 32px;
        font-size: 9px
    }
    .support-acts {
        padding: 2px 10px 5px
    }
    .support-act-link,
    .support-acts-label,
    .support-acts-list {
        font-size: 10px
    }
    .clean-hero-slide-artist {
        font-size: var(--universal-text-small-mobile-headline)
    }
    .clean-hero-event-details {
        font-size: .9em
    }
    .event-button {
        gap: 12px
    }
    .ticket-button-right * {
        max-width: 180px
    }
    .city-filter-container {
        padding: 12px 15px
    }
    .long-event-status .status-label {
        width: 32px;
        height: 32px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 18px;
        font-family: dashicons
    }
    .long-event-status .status-label[data-status=Cancelled]::before {
        content: " "
    }
    .long-event-status .status-label[data-status="Waiting List"]::before {
        content: " "
    }
    .long-event-status .status-label[data-status="On Sale Soon"]::before,
    .long-event-status .status-label[data-status="Register For Presale"]::before {
        content: " "
    }
    .long-event-status .status-label[data-status=Postponed]::before {
        content: " "
    }
    .long-event-status .status-label[data-status=Moved]::before {
        content: " "
    }
}

@media (max-width:768px) {
    .generic-listings-section-title {
        flex-direction: row;
        align-items: center;
        gap: 0;
        padding: 1rem 0
    }
    .generic-listings-section-title h2 {
        font-size: 1.5rem;
        text-align: left;
        width: auto;
        line-height: 2.5rem
    }
    .see-all-tours-link::after {
        color: inherit
    }
    .event-long-card-listings-container {
        margin-left: 0;
        max-width: 90%
    }
    .clean-hero-event-details {
        font-size: .95em
    }
    .et_pb_section {
        padding: 0
    }
}

@media (max-width:480px) {
    .mobile-nav-container,
    .slider-slide.slide-center .slide-content {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto
    }
    .glasswerk-event-slider {
        height: 45vh;
        padding-bottom: 20px
    }
    .slider-slide {
        flex: 0 0 100vw;
        margin: 0
    }
    .slide-content {
        bottom: 30px;
        left: 25px;
        right: 10px
    }
    .slide-promoter {
        font-size: var(--universal-text-small-mobile-promoter);
        padding-bottom: 0
    }
    .slide-artist {
        font-size: var(--universal-text-small-mobile-headline);
        margin: 0 0 .2rem
    }
    .slide-tour-text {
        font-size: var(--universal-text-small-mobile-subheadline);
        margin: 0 0 1rem
    }
    .slide-dots-container,
    .slider-dot-inline {
        display: none
    }
    .slide-action .hero-button {
        padding: 8px 16px !important;
        font-size: var(--universal-text-small-mobile-button) !important
    }
    .mobile-nav-container {
        bottom: 30px;
        right: 25px;
        gap: 6px
    }
    .mobile-nav-container .slider-nav {
        width: 36px;
        height: 36px
    }
    .event-arrow,
    .mobile-nav-container .slider-nav svg {
        width: 14px;
        height: 14px
    }
    .event-card {
        height: 65px;
        display: flex;
        align-items: stretch;
        border-radius: 4px
    }
    .event-image-container {
        width: 85px;
        height: 65px
    }
    .event-content {
        padding: 0 18px;
        min-height: 65px;
        display: flex;
        align-items: center
    }
    .event-title {
        font-size: .85rem
    }
    .event-arrow-container {
        width: 45px;
        height: 65px
    }
    .clean-hero-section {
        height: 45vh
    }
    .clean-hero-slide {
        width: 100vw;
        height: 100%
    }
    .clean-hero-slide-bg-image {
        width: 100%;
        height: 100%
    }
    .clean-hero-slide-content {
        bottom: 30px;
        left: 25px;
        right: 10px;
        padding-bottom: 0
    }
    .clean-hero-slide-promoter {
        font-size: 18px;
        padding-bottom: 0
    }
    .clean-hero-slide-artist {
        font-size: 26px
    }
    .clean-hero-breadcrumb,
    .slide-tour-text {
        font-size: 16px;
        padding: 0
    }
    .clean-hero-breadcrumb-separator {
        margin: 0 .3rem
    }
    .event-long-card-listings-container {
        margin-left: 0;
        max-width: 100vw
    }
    .long-event-card {
        padding: 12px;
        min-height: 60px
    }
    .long-event-date {
        width: 58px;
        height: auto;
        min-height: 0;
        margin-right: 10px
    }
    .long-event-date .date-day {
        font-size: 18px
    }
    .long-event-date .date-month {
        font-size: 12px
    }
    .long-event-details {
        margin-right: 8px
    }
    .long-event-status {
        margin-right: 8px;
        position: static;
        margin-top: 4px
    }
    .long-event-button {
        width: 32px;
        height: 32px;
        font-size: 9px
    }
    .support-acts {
        padding: 2px 10px 5px
    }
    .support-act-link,
    .support-acts-label,
    .support-acts-list {
        font-size: 10px
    }
    .clean-hero-slide-artist {
        font-size: var(--universal-text-small-mobile-headline)
    }
    .clean-hero-event-details {
        font-size: .9em
    }
    .event-button {
        gap: 12px
    }
    .ticket-button-right * {
        max-width: 180px
    }
    .ticket-name-price {
        font-size: 18px !important
    }
    .city-filter-container {
        padding: 12px 15px
    }
    .long-event-status .status-label {
        width: 32px;
        height: 32px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 18px;
        font-family: dashicons
    }
    .long-event-status .status-label[data-status=Cancelled]::before {
        content: "f158"
    }
    .long-event-status .status-label[data-status="Waiting List"]::before {
        content: "f524"
    }
    .long-event-status .status-label[data-status="On Sale Soon"]::before,
    .long-event-status .status-label[data-status="Register For Presale"]::before {
        content: "f531"
    }
    .long-event-status .status-label[data-status=Postponed]::before {
        content: "f321"
    }
    .long-event-status .status-label[data-status=Moved]::before {
        content: "f231"
    }
}

.mobile-nav-container,
.slider-nav {
    position: absolute;
    z-index: 10;
    display: flex
}

.cards-grid {
    gap: 10px
}

.featured-artists-title {
    margin-bottom: 1rem;
    color: #333
}

.slider-nav {
    top: 50%;
    transform: translateY(-50%);
    box-shadow: none
}

.preloader,
.presale-modal,
.presale-modal__overlay {
    height: 100%;
    position: fixed
}

.slider-nav:hover {
    transform: translateY(-50%)
}

.slider-nav svg {
    width: 18px;
    height: 18px;
    fill: var(--glasswerk-hero-button-color, #1e1e1e);
    transition: fill .2s ease
}

.slider-nav:hover svg {
    fill: var(--glasswerk-hero-button-hover-color, #1e1e1e)
}

.mobile-nav-container {
    bottom: 40px;
    right: calc(50% - 25vw - 60px);
    gap: 8px
}

.mobile-nav-container .slider-nav {
    position: static;
    transform: none;
    box-shadow: none
}

.featured-artist-card:hover .featured-artist-image img,
.mobile-nav-container .slider-nav:hover {
    background-color: var(--accent-color-hover, var(--glasswerk-hero-button-hover-bg-color)) !important;
    transform: none
}

.mobile-nav-container .slider-nav svg {
    width: 16px;
    height: 16px
}

.tour-dates-link .dashicons {
    margin-left: 8px;
    color: inherit
}

.presale-modal {
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999999
}

.presale-modal__overlay {
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, .7);
    z-index: 1000000
}

.presale-modal__content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 4px;
    width: 90%;
    max-width: 500px;
    z-index: 1000001
}

.presale-modal__content h2 {
    background: #f3f3f3;
    color: #1e1e1e;
    margin: 0;
    padding: 15px 20px;
    border-radius: 4px 4px 0 0;
    font-size: 24px
}

.presale-form {
    padding: 20px
}

.presale-form__input-group {
    display: flex;
    gap: 10px
}

.presale-form__input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px
}

.presale-form__button {
    white-space: nowrap
}

.preloader {
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity .5s ease-out
}

.preloader-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px
}

.glasswerk-text {
    font-family: Arial, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: .2em;
    color: #000;
    animation: 2s ease-in-out infinite textPulse
}

@keyframes textPulse {
    0%,
    100% {
        opacity: .8;
        transform: scale(1)
    }
    50% {
        opacity: 1;
        transform: scale(1.05)
    }
}

#plectrum-path {
    stroke-dasharray: 300;
    stroke-dashoffset: 300;
    animation: 3s ease-in-out infinite drawPlectrum
}

@keyframes drawPlectrum {
    0% {
        stroke-dashoffset: 300;
        opacity: .3
    }
    50% {
        stroke-dashoffset: 0;
        opacity: 1
    }
    100% {
        stroke-dashoffset: -300;
        opacity: .3
    }
}

.loading-dots {
    display: flex;
    gap: 8px;
    justify-content: center
}

.loading-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000;
    animation: 1.4s ease-in-out infinite both dotBounce
}

.loading-dots span:first-child {
    animation-delay: -.32s
}

.loading-dots span:nth-child(2) {
    animation-delay: -.16s
}

@keyframes dotBounce {
    0%,
    100%,
    80% {
        transform: scale(0);
        opacity: .5
    }
    40% {
        transform: scale(1);
        opacity: 1
    }
}

.featured-artists-section-spacing {
    margin-top: 4rem
}

.featured-artists-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    margin-bottom: 2rem
}

.featured-artists-title {
    color: var(--blue-accent);
    font-weight: 600;
    font-size: 24px;
    letter-spacing: .5px
}

.featured-artists-divider {
    width: 60px;
    height: 2px;
    background-color: var(--blue-accent);
    border: none;
    margin: 0
}

.featured-artists-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 2rem;
    margin-top: 2rem
}

.featured-artist-card {
    background: #1a1a1a;
    border-radius: 4px;
    overflow: hidden;
    transition: transform .3s;
    cursor: pointer;
    height: 220px;
    display: flex;
    flex-direction: column
}

.featured-artist-card:hover {
    transform: translateY(-2px)
}

.featured-artist-image-container {
    flex: 1;
    position: relative;
    overflow: hidden
}

.featured-artist-image {
    width: 100%;
    height: 100%;
    position: relative
}

.featured-artist-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform .3s
}

.featured-artist-details {
    padding: 15px;
    background: #1a1a1a;
    border-top: 1px solid #2a2a2a;
    flex-shrink: 0
}

.featured-artist-name {
    font-size: 1rem;
    font-weight: 600;
    color: #f3f3f3;
    margin: 0;
    line-height: 1.3;
    font-family: Montserrat, sans-serif
}

@media (max-width:1200px) and (min-width:769px) {
    .featured-artists-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 10px
    }
}

@media (max-width:1024px) and (min-width:769px) {
    .featured-artists-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px
    }
}

@media (max-width:768px) {
    .mobile-nav-container {
        right: calc(50% - 60vw + 70px);
        bottom: 25px;
    }
    .glasswerk-text {
        font-size: 2rem;
    }
    .plectrum-container svg {
        width: 80px;
        height: 96px;
    }
    .featured-artists-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .featured-artist-card {
        height: 180px;
    }
    .featured-artist-details {
        padding: 12px;
    }
    .featured-artist-name {
        font-size: .9rem;
    }
    .clean-hero-slide-content {
        padding-bottom: 0 !important;
    }
}

@media (max-width:480px) {
    .mobile-nav-container {
        right: calc(50% - 60vw + 70px);
    }
    .featured-artists-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .featured-artist-card {
        height: 200px;
    }
}

.clean-hero-slide-content .slide-tour-text,
.slide-content .slide-tour-text,
.slide-info .slide-tour-text,
.slide-tour-text,
p.slide-tour-text {
    padding: 0 !important;
    margin: 0 0 1rem !important;
}

.scroll-top-button {
    position: fixed;
    right: 1.2rem;
    bottom: 80px;
    width: 50px;
    height: 50px;
    border-radius: 4px;
    background: 0 0;
    color: #555555;
    border: none;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    box-shadow: none;
    transform: rotate(90deg);
}

.scroll-top-button:hover {
    background: 0 0;
    transform: translateY(-3px) rotate(90deg);
    box-shadow: none;
}

.scroll-top-button.visible {
    opacity: 1;
    visibility: visible;
}

@media (max-width:768px) {
    .scroll-top-button {
        right: .8rem;
    }
}

@media (min-width:769px) and (max-width:1024px) {
    .scroll-top-button {
        right: 1.1rem;
    }
}

/* Artist / hero inline actions (support archives, hero CTAs) */
.pa-inline-buttons,
.clean-hero-slide-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem
}

.pa-inline-buttons a,
.clean-hero-slide-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box
}

.pa-inline-buttons a:not(.hero-button):not(.buy-tickets),
.clean-hero-slide-actions a:not(.hero-button):not(.buy-tickets) {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0 !important;
    border-radius: var(--glasswerk-button-radius, 4px);
    background-color: var(--glasswerk-hero-button-bg-color, #f3f3f3) !important;
    color: var(--glasswerk-hero-button-color, #1e1e1e) !important;
    border: 1px solid #e0e0e0 !important
}

.pa-inline-buttons a:not(.hero-button):not(.buy-tickets):hover,
.clean-hero-slide-actions a:not(.hero-button):not(.buy-tickets):hover {
    background-color: var(--glasswerk-hero-button-hover-bg-color, #e6e6e6) !important;
    color: var(--glasswerk-hero-button-hover-color, #1e1e1e) !important
}

/* Divi Machine archive — collapse phantom height from masonry grid + loader */
.et_pb_de_mach_archive_loop .divi-filter-archive-loop,
.et_pb_de_mach_archive_loop .divi-filter-archive-loop.grid {
    grid-auto-rows: auto !important;
    height: auto !important;
    min-height: 0 !important;
}

.et_pb_de_mach_archive_loop .divi-filter-loop-container,
.et_pb_de_mach_archive_loop .grid-posts.loop-grid,
.et_pb_de_mach_archive_loop .filtered-posts-cont {
    height: auto !important;
    min-height: 0 !important;
}

.et_pb_de_mach_archive_loop .grid-col.dmach-grid-item {
    grid-row: auto !important;
    grid-row-end: auto !important;
    -ms-grid-row: auto !important;
}

.et_pb_de_mach_archive_loop:not(.filtered-posts-loading) .filtered-posts-cont > .filtered-posts-loading {
    display: none !important;
}

/* Long listing — date badge fits content only (day / month / year), not card height */
.demo-container .long-event-card,
.bc-link-whole-grid-card .long-event-card {
    align-items: flex-start !important;
    border: none !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    box-shadow: none !important
}

.long-event-date,
.demo-container .long-event-date,
.bc-link-whole-grid-card .long-event-date {
    height: auto !important;
    min-height: 4.75rem !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important
}

@media (max-width:767px) {
    .long-event-date,
    .demo-container .long-event-date,
    .bc-link-whole-grid-card .long-event-date {
        min-height: 3.5rem !important
    }
}

/* Mobile scroll — fewer repaints / compositor layers while finger-scrolling */
@media (max-width: 767px) {
    .long-event-card {
        transition: background-color .2s ease
    }

    .event-card:hover .event-image,
    .alt-event-card:hover .alt-event-image {
        transform: none
    }

    .slider-wrapper {
        will-change: auto
    }

    .slide-blur-gradient,
    .slide-blur-gradient::before,
    .slide-blur-gradient::after,
    .clean-hero-slide-blur-gradient::before,
    .clean-hero-slide-blur-gradient::after {
        -webkit-backdrop-filter: none;
        backdrop-filter: none
    }

    .clean-hero-background-blur img {
        filter: none;
        transform: none
    }

    .et_pb_de_mach_archive_loop .grid-col.dmach-grid-item {
        content-visibility: auto;
        contain-intrinsic-size: auto 140px
    }

    /* Hero — no blurred backdrop on mobile; main image edge-to-edge */
    .clean-hero-background-blur {
        display: none !important
    }

    .clean-hero-container {
        justify-content: stretch;
        align-items: stretch;
        padding: 0
    }

    .clean-hero-slide {
        width: 100vw !important;
        max-width: none !important;
        margin: 0 !important;
        flex: 1 1 auto
    }

    .clean-hero-slide-background {
        max-width: none !important;
        width: 100% !important;
        left: 0 !important;
        right: 0 !important
    }

    .clean-hero-slide-bg-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center top
    }

    .clean-hero-slide-overlay,
    .clean-hero-slide-blur-gradient,
    .clean-hero-slide-blur-gradient::before,
    .clean-hero-slide-blur-gradient::after {
        width: 100% !important;
        max-width: none !important
    }
}

/* Long listings — mailer date tile and meta line */
.long-event-card .long-event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 56px !important;
    min-height: 0 !important;
    height: auto !important;
    margin-right: 14px;
    padding: 8px 4px;
    background: #2a2a2a !important;
    color: #f3f3f3 !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 4px !important;
    box-sizing: border-box
}

.long-event-card .long-event-date .date-month {
    order: 1;
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #c8c8c8 !important
}

.long-event-card .long-event-date .date-day {
    order: 2;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #f5f5f5 !important
}

.long-event-card .long-event-date .date-year {
    order: 3;
    margin: 2px 0 0;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.1;
    color: #848484 !important
}

.long-event-card .long-event-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center
}

.long-event-card .long-event-details .long-event-time {
    order: 1;
    margin: 0 0 4px;
    padding: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    color: #848484;
    opacity: 1
}

.long-event-card .long-event-details .long-event-time:empty {
    display: none
}

.long-event-card .long-event-details h5 {
    order: 2;
    margin: 0 0 4px;
    padding: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    color: #f3f3f3
}

.long-event-card .long-event-venue-info {
    order: 3;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    color: #c8c8c8;
    opacity: 1
}

.long-event-card .long-event-action {
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    align-self: center;
    gap: 6px;
    margin-left: auto;
    flex: 0 0 auto
}

.long-event-card .long-event-action .long-event-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0;
    padding: 10px 12px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    background: #f3f3f3 !important;
    color: #1e1e1e !important;
    font-family: var(--h5-font-family, 'Montserrat', sans-serif);
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none !important;
    text-transform: none;
    white-space: nowrap;
    box-shadow: none
}

.long-event-card .long-event-action .long-event-button[data-status="Sold Out"] {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important
}

.long-event-card .long-event-action .long-event-button[data-status="Cancelled"] {
    background: #ce1717 !important;
    border-color: #ce1717 !important;
    color: #fff !important
}

.long-event-card .long-event-action .long-event-button[data-status="On Sale Soon"] {
    background: #1e1e1e !important;
    border-color: #1e1e1e !important;
    color: #fff !important
}

.long-event-card .long-event-action .long-event-button[data-status="Postponed"] {
    background: #d89d11 !important;
    border-color: #d89d11 !important;
    color: #fff !important
}

.long-event-card .long-event-action .long-event-button[data-status="Moved"] {
    background: #1e1e1e !important;
    border-color: #1e1e1e !important;
    color: #fff !important
}

.long-event-card .long-event-action .long-event-button:hover {
    filter: brightness(.96);
    color: #1e1e1e !important
}

.long-event-card .long-event-action .long-event-button[data-status="Sold Out"]:hover,
.long-event-card .long-event-action .long-event-button[data-status="Cancelled"]:hover,
.long-event-card .long-event-action .long-event-button[data-status="On Sale Soon"]:hover,
.long-event-card .long-event-action .long-event-button[data-status="Postponed"]:hover,
.long-event-card .long-event-action .long-event-button[data-status="Moved"]:hover {
    color: #fff !important
}

@media (max-width: 640px) {
    .long-event-card {
        flex-wrap: wrap;
        align-items: flex-start;
        column-gap: 10px;
        row-gap: 8px;
        padding: 12px 12px 14px
    }

    .long-event-card .long-event-date {
        margin-right: 0
    }

    .long-event-card .long-event-details {
        flex: 1 1 0;
        min-width: 0;
        margin-right: 0
    }

    .long-event-card .long-event-action {
        flex: 1 1 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        margin: 0 0 0 66px;
        width: auto
    }

    .long-event-card .long-event-action .long-event-button {
        padding: 8px 12px !important
    }
}

/* Skip layout and paint for listing rows until they are near the screen. */
.et_pb_de_mach_archive_loop .dmach-grid-item {
    content-visibility: auto;
    contain-intrinsic-size: auto 128px
}

.et_pb_de_mach_archive_loop .dmach-grid-item:nth-child(-n+6) {
    content-visibility: visible
}

/* Section titles stay light on the dark page. */
.city-search-title,
.news-section-title,
.cities-section-title,
.coming-up-next-title,
.just-announced-title,
.on-sale-soon-title,
.selling-fast-title,
.venue-modal-info h2,
.venue-modal-city .dashicons,
.venue-modal-access i,
.coming-up-next-title .dashicons,
.just-announced-title .dashicons,
.on-sale-soon-title .dashicons,
.selling-fast-title .dashicons {
    color: #f3f3f3 !important
}

body,
#page-container,
#et-boc,
.et-db #et-boc .et-l,
.et_pb_section,
.et_pb_row,
.et_pb_column,
.dmach-grid-item,
.et_pb_de_mach_archive_loop {
    background-color: #111111 !important;
    color: #f3f3f3
}

.et_pb_text,
.et_pb_text p,
.et_pb_text li,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6 {
    color: #f3f3f3
}

.venue-modal-close:hover {
    color: #555555 !important
}

.search-go-button,
.venue-modal-button,
.view-all-news a,
.view-all-cities a {
    background-color: #f3f3f3 !important;
    color: #1e1e1e !important;
    border: 1px solid #e0e0e0 !important
}

.search-go-button:hover,
.venue-modal-button:hover,
.view-all-news a:hover,
.view-all-cities a:hover {
    background-color: #e6e6e6 !important;
    color: #1e1e1e !important
}

.search-select:hover,
.search-select:focus {
    border-color: #555555 !important;
    box-shadow: none
}

.slider-dot-inline.active,
.slider-dot-inline:hover {
    background: #f3f3f3 !important;
    border-color: #f3f3f3 !important;
    box-shadow: 0 0 0 1px #f3f3f3
}

.news-card,
.alt-event-card {
    background: #1a1a1a !important;
    color: #f3f3f3
}

.search-select {
    background: #1a1a1a !important;
    color: #f3f3f3 !important;
    border-color: #333333 !important
}

.glasswerk-signup {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin: 0
}

.glasswerk-signup input[type="email"] {
    flex: 1 1 220px;
    min-width: 0;
    margin: 0;
    padding: 12px 14px;
    background: #1a1a1a;
    color: #f3f3f3;
    border: 1px solid #333333;
    border-radius: 4px;
    font-size: 16px
}

.glasswerk-signup input[type="email"]::placeholder {
    color: #9a9a9a
}

.glasswerk-signup button {
    margin: 0;
    padding: 12px 18px;
    background: #2474ff;
    color: #111111;
    border: 1px solid #2474ff;
    border-radius: 4px;
    font-weight: 700;
    cursor: pointer
}

.glasswerk-signup-hp {
    position: absolute;
    left: -9999px
}

.glasswerk-signup-note {
    margin: 10px 0 0;
    color: #f3f3f3
}

.glasswerk-signup-note.is-error {
    color: #f0a8a8
}

.ticket-name-price {
    color: #f3f3f3
}

/* Dark sections beat the theme-builder light panels. Blue is the action colour. */
body .et_pb_section.et_pb_section,
body .et_pb_section.et_pb_with_background {
    background-color: #111111 !important;
    color: #f3f3f3 !important
}

body .news-card .news-card-title,
body .news-card-title,
.news-card-excerpt,
.news-card p,
.news-card h2,
.news-card h3,
.event-title,
.featured-artist-name,
.city-name,
.venue-name,
.family-card h2,
.family-card h3,
.et_pb_text,
.et_pb_text p,
.et_pb_text li,
.et_pb_text a:not(.hero-button):not(.news-link):not(.tour-dates-link) {
    color: #f3f3f3 !important
}

.glasswerk-default-layout-social-icon,
.glasswerk-default-layout-social-icon i,
.glasswerk-default-layout-social-icons a,
.glasswerk-default-layout-mobile-social-icon,
.glasswerk-default-layout-mobile-social-icon i {
    color: #2474ff !important
}

.dashicons,
.et_pb_icon,
.et-pb-icon,
.fa-solid,
.fas,
.event-arrow,
.slider-nav i,
.section-header .dashicons,
.coming-up-next-title .dashicons,
.just-announced-title .dashicons,
.on-sale-soon-title .dashicons,
.selling-fast-title .dashicons {
    color: #2474ff !important
}

.hero-button,
a.hero-button,
.tour-dates-link,
.news-link,
.search-go-button,
.venue-modal-button,
.view-all-news a,
.view-all-cities a,
.glasswerk-signup button,
.see-all-tours-link,
.long-event-card .long-event-action .long-event-button:not([data-status="Sold Out"]):not([data-status="Cancelled"]):not([data-status="Postponed"]):not([data-status="On Sale Soon"]):not([data-status="Moved"]) {
    background: #2474ff !important;
    background-color: #2474ff !important;
    border-color: #2474ff !important;
    color: #111111 !important
}

.hero-button:hover,
a.hero-button:hover,
.tour-dates-link:hover,
.news-link:hover,
.search-go-button:hover,
.venue-modal-button:hover,
.view-all-news a:hover,
.view-all-cities a:hover,
.glasswerk-signup button:hover {
    background: #1a5fd4 !important;
    background-color: #1a5fd4 !important;
    border-color: #1a5fd4 !important;
    color: #111111 !important
}

.hero-button .dashicons,
.tour-dates-link .dashicons,
.news-link .dashicons,
.slider-nav .dashicons,
button .dashicons {
    color: #111111 !important
}

.slider-nav,
.slider-nav:hover,
.mobile-nav-container .slider-nav,
.mobile-nav-container .slider-nav:hover {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important
}

.ticket-status,
.ticket-status div,
.event-timings-row,
.event-timing-group,
.age-restriction,
.headlining-name,
.headlining-name a,
.lineup-support-artist,
.lineup-support-artist a,
.lineup-genre {
    color: #f3f3f3 !important
}

.headlining-label,
.lineup-support-label,
.lineup-genres-label,
.ticket-section-heading {
    color: #f3f3f3 !important
}
