/* ===========================================
   Radians Amphitheater — Brand Stylesheet
   Scoped to .brand-radians body class
   =========================================== */

.brand-radians {

    /* Colors */
    --rad-color-primary:    #053E54;
    --rad-color-accent:     #AB1B2D;
    --rad-color-secondary:  #047A83;
    --rad-color-bg:         #F6F0E4;
    --rad-color-text:       #5F5E59;
    --rad-color-text-light: #047A83;
    --rad-color-text-dark:  #053E54;
    --rad-color-gold:       #FFB512;

    /* Typography */
    --rad-font-heading: 'Poppins', sans-serif;
    --rad-font-body:    'Poppins', sans-serif;
    font-family:        var(--rad-font-body) !important;

    /* Font Sizes */
    --rad-size-display-xl: 109px;
    --rad-size-display-lg: 84px;
    --rad-size-display-md: 58px;
    --rad-size-display-sm: 48px;
    --rad-size-h2:         36px;
    --rad-size-h3:         32px;
    --rad-size-h4:         24px;
    --rad-size-body-lg:    24px;
    --rad-size-body:       16px;
    --rad-size-sm:         14px;

    /* Font Weights */
    --rad-weight-light:     300;
    --rad-weight-regular:   400;
    --rad-weight-medium:    500;
    --rad-weight-semibold:  600;
    --rad-weight-bold:      700;
    --rad-weight-extrabold: 800;

    /* Spacing */
    --rad-spacing-sm:  1rem;
    --rad-spacing-md:  2rem;
    --rad-spacing-lg:  4rem;

    /* Buttons */
    --rad-btn-bg:          #AB1B2D;
    --rad-btn-color:       #ffffff;
    --rad-btn-bg-hover:    #053E54;
    --rad-btn-color-hover: #ffffff;
    --rad-btn-radius:      0px;
}

/* Base Typography */
.brand-radians h1 { font-family: var(--rad-font-heading); font-size: var(--rad-size-display-sm); font-weight: var(--rad-weight-bold); color: var(--rad-color-primary); }
.brand-radians h2 { font-family: var(--rad-font-heading); font-size: var(--rad-size-h2);         font-weight: var(--rad-weight-bold); color: var(--rad-color-primary); }
.brand-radians h3 { font-family: var(--rad-font-heading); font-size: var(--rad-size-h3);         font-weight: var(--rad-weight-semibold); }
.brand-radians h4 { font-family: var(--rad-font-heading); font-size: var(--rad-size-h4);         font-weight: var(--rad-weight-semibold); }
.brand-radians p  { font-family: var(--rad-font-body);    font-size: var(--rad-size-body);       font-weight: var(--rad-weight-regular); color: var(--rad-color-text); }

/* Elementor Heading Widget — override post-specific kit stylesheet (higher specificity) */
.brand-radians h1.elementor-heading-title,
.brand-radians h2.elementor-heading-title {
    font-family: var(--rad-font-heading) !important;
    color:       var(--rad-color-primary) !important;
}
.brand-radians h1.elementor-heading-title {
    font-size:   var(--rad-size-display-sm) !important;
    font-weight: var(--rad-weight-bold) !important;
}
.brand-radians h2.elementor-heading-title {
    font-size:   var(--rad-size-h2) !important;
    font-weight: var(--rad-weight-bold) !important;
}
.brand-radians h3.elementor-heading-title {
    font-family: var(--rad-font-heading) !important;
    font-size:   var(--rad-size-h3) !important;
    font-weight: var(--rad-weight-semibold) !important;
}
.brand-radians h4.elementor-heading-title {
    font-family: var(--rad-font-heading) !important;
    font-size:   var(--rad-size-h4) !important;
    font-weight: var(--rad-weight-semibold) !important;
}

/* Event Type Tabs — tab title styles */
.brand-radians .event-type-tabs .elementor-tab-title {
    font-size:       28px !important;
    font-weight:     400 !important;
    color:           var(--rad-color-primary) !important;
    border-bottom:   3px solid transparent !important;
    padding-bottom:  6px !important;
    text-decoration: none !important;
}
.brand-radians .event-type-tabs .elementor-tab-title.elementor-active {
    font-weight:   700 !important;
    color:         #000000 !important;
    border-bottom: 3px solid #047A83 !important;
}

/* Event Type Tabs — normalize content panel padding on all viewports */
.brand-radians .event-type-tabs .elementor-tab-content {
    padding-top:    1.5rem !important;
    padding-bottom: 0 !important;
}

/* Event Type Tabs — mobile accordion titles */
@media (max-width: 767px) {
    .brand-radians .event-type-tabs .elementor-tab-mobile-title {
        font-size:      18px !important;
        margin-bottom:  0 !important;
        padding-bottom: 0 !important;
    }
    .brand-radians .event-type-tabs .elementor-tab-content {
        padding-top:    0 !important;
        padding-bottom: 0 !important;
    }
    .brand-radians .rad-events-empty {
        font-size: 20px !important;
    }
}

/* Event Type Tabs — JS-controlled section visibility with fade */
.brand-radians .live-garden,
.brand-radians .other-events {
    transition: opacity 0.35s ease;
}
.brand-radians .rad-tab-hidden {
    display: none !important;
}

/* Inner Hero — subpage h2 heading */
.brand-radians .inner-hero h2.elementor-heading-title {
    font-size:   22px !important;
    font-weight: 600 !important;
}

/* Partners Heading */
.brand-radians .partners-heading h2.elementor-heading-title {
    color:     #A9D164 !important;
    font-size: 36px !important;
}

/* Footer Button */
.brand-radians .footer-button .elementor-button {
    background-color: #EC008C !important;
    border-color:     #EC008C !important;
    color:            #ffffff !important;
}
.brand-radians .footer-button .elementor-button:hover {
    background-color: #035e65 !important;
    border-color:     #035e65 !important;
    color:            #ffffff !important;
}

/* Social Icons — brand primary background */
.brand-radians .elementor-social-icon {
    background-color: var(--rad-color-primary) !important;
}
.brand-radians .elementor-social-icon:hover {
    background-color: #053E54 !important;
}

/* Navigation — override site-global accent color on hover underline/pointer */
.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after {
    background-color: var(--rad-color-primary);
}

/* Navigation — font */
.brand-radians .elementor-nav-menu .elementor-item {
    font-family: var(--rad-font-heading);
    font-weight: var(--rad-weight-bold);
}

/* Navigation — bump desktop nav to 21px above 1140px to prevent wrapping */
@media (min-width: 1141px) {
    .brand-radians .elementor-nav-menu--main .elementor-item {
        font-size: 21px !important;
    }
}

/* Navigation — hamburger dropdown (tablet + mobile) */
@media (max-width: 1024px) {
    /* Main dropdown container */
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position:         absolute !important;
        top:              100% !important;
        right:            0 !important;
        left:             auto !important;
        z-index:          9999 !important;
        width:            420px !important;
        min-width:        280px !important;
        background-color: #f2f2f2 !important;
        border-radius:    0 !important;
        box-shadow:       0 4px 12px rgba(0, 0, 0, 0.1) !important;
        padding:          0 !important;
        overflow:         visible !important;
    }
    /* Remove default UL indent */
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu {
        padding-left: 0 !important;
        margin:       0 !important;
    }
    /* Top-level items */
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item {
        display:         flex !important;
        align-items:     center !important;
        justify-content: space-between !important;
        width:           100% !important;
        padding:         0.7rem 1.25rem !important;
        color:           #54595f !important;
        font-family:     var(--rad-font-heading) !important;
        font-size:       17px !important;
        font-weight:     var(--rad-weight-bold) !important;
    }
    /* Active/highlighted item (submenu open) */
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item.highlighted,
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item:focus,
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
        background-color: #e0e0e0 !important;
        color:            #54595f !important;
    }
    /* Sub-menu (e.g. About children) — inline flow, full width */
    body.brand-radians .elementor-widget-nav-menu .sub-menu.elementor-nav-menu--dropdown {
        position:         static !important;
        width:            100% !important;
        background-color: #e6e6e6 !important;
        box-shadow:       none !important;
        border-radius:    0 !important;
        padding:          0 !important;
    }
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item {
        display:     block !important;
        padding:     0.6rem 2rem !important;
        color:       #54595f !important;
        font-family: var(--rad-font-heading) !important;
        font-size:   15px !important;
        font-weight: var(--rad-weight-semibold) !important;
    }
}

/* Navigation — mobile only: full viewport width, re-anchor to left edge */
@media (max-width: 767px) {
    body.brand-radians .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        width:     100vw !important;
        min-width: 100vw !important;
        right:     auto !important;
        left:      0 !important;
    }
}

/* Know Before Cards — equal-height cards (1 icon box per column)
   Columns are already equal height via flexbox; thread flex down through
   every Elementor wrapper so the icon box fills the full column height. */
.brand-radians .know-before-cards .elementor-column {
    display: flex;
    align-items: stretch;
}

.brand-radians .know-before-cards .elementor-widget-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.brand-radians .know-before-cards .elementor-widget-icon-box {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.brand-radians .know-before-cards .elementor-widget-icon-box .elementor-widget-container {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.brand-radians .know-before-cards .elementor-icon-box-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Home Hero — white headings at display sizes */
.brand-radians .radians-home-hero .elementor-heading-title {
    color: #ffffff !important;
}
.brand-radians .radians-home-hero h1.elementor-heading-title {
    font-size: 7rem !important;
}
.brand-radians .radians-home-hero h2.elementor-heading-title {
    font-size:   1.875rem !important;
    font-weight: 600 !important;
}
@media (max-width: 767px) {
    .brand-radians .radians-home-hero h1.elementor-heading-title {
        font-size: 3.75rem !important;
    }
    .brand-radians .radians-home-hero h2.elementor-heading-title {
        font-size: 1.25rem !important;
    }
}

/* Home Body Headings — large display h2s with custom size/color */
.brand-radians .home-body-headings h2.elementor-heading-title {
    font-size: 6rem !important;
    color:     #000000 !important;
}
@media (max-width: 1024px) {
    .brand-radians .home-body-headings h2.elementor-heading-title {
        font-size: 4.5rem !important;
    }
}
@media (max-width: 767px) {
    .brand-radians .home-body-headings h2.elementor-heading-title {
        font-size: 3rem !important;
    }
}

/* Home Upcoming — section heading; defer to Elementor widget settings */
.brand-radians .home-upcoming h2.elementor-heading-title {
    font-family: "Poppins", sans-serif !important;
    font-size:   85px !important;
    font-weight: 700 !important;
    color:       #000000 !important;
}
@media (max-width: 1024px) {
    .brand-radians .home-upcoming h2.elementor-heading-title {
        font-size: 60px !important;
    }
}
@media (max-width: 767px) {
    .brand-radians .home-upcoming h2.elementor-heading-title {
        font-size: 42px !important;
    }
}

/* Sign Up Win — h2 heading; defer to Elementor widget settings */
.brand-radians .sign-up-win h2.elementor-heading-title {
    font-family: "Poppins", sans-serif !important;
    font-size:   28px !important;
    font-weight: 500 !important;
    color:       #009172 !important;
}

/* Plan Your — h3 subheadings; defer to Elementor widget settings */
.brand-radians .plan-your h3.elementor-heading-title {
    font-family: "Poppins", sans-serif !important;
    font-weight: 400 !important;
    color:       #009172 !important;
}

/* Know Before — section heading; defer to Elementor widget settings */
.brand-radians .know-before h2.elementor-heading-title {
    font-family: "Poppins", sans-serif !important;
    font-size:   105px !important;
    font-weight: 700 !important;
    color:       #000000 !important;
}
@media (max-width: 1024px) {
    .brand-radians .know-before h2.elementor-heading-title {
        font-size: 72px !important;
    }
}
@media (max-width: 767px) {
    .brand-radians .know-before h2.elementor-heading-title {
        font-size: 48px !important;
    }
}

/* Be First — section heading; defer to Elementor widget settings */
.brand-radians .be-first h2.elementor-heading-title {
    font-family: "Poppins", sans-serif !important;
    font-size:   60px !important;
    font-weight: 700 !important;
    color:       #ffffff !important;
}
@media (max-width: 1024px) {
    .brand-radians .be-first h2.elementor-heading-title {
        font-size: 44px !important;
    }
}
@media (max-width: 767px) {
    .brand-radians .be-first h2.elementor-heading-title {
        font-size: 32px !important;
    }
}

/* Icon Box — title color */
.brand-radians .elementor-icon-box-title,
.brand-radians .elementor-icon-box-title a {
    color:       var(--rad-color-primary) !important;
    font-family: var(--rad-font-heading) !important;
}

/* Dividers — custom color classes */
.brand-radians .green-divider .elementor-divider-separator {
    border-color:    #047A83 !important;
    background-color:#047A83 !important;
}
.brand-radians .pink-divider .elementor-divider-separator {
    border-color:    #EC008C !important;
    background-color:#EC008C !important;
}

/* Icon List — gold bullets */
.brand-radians .elementor-widget-icon-list .elementor-icon-list-icon i {
    color: var(--rad-color-gold) !important;
}

/* Bullet Lists — gold markers, consistent across all content areas */
.brand-radians ul li::marker,
.brand-radians ol li::marker {
    color: var(--rad-color-gold);
}
.brand-radians ul,
.brand-radians ol {
    padding-left:  1.5rem !important;
    margin-bottom: 1.5rem !important;
}

/* Admin bar — undo any brand list overrides leaking into the toolbar */
#wpadminbar ul,
#wpadminbar ol,
#wpadminbar ul li,
#wpadminbar ol li {
    padding-left:  0 !important;
    margin-bottom: 0 !important;
}
#wpadminbar ul li::marker,
#wpadminbar ol li::marker {
    color: inherit !important;
}

/* General body copy — 18px across text editor and icon list widgets */
.brand-radians .elementor-widget-text-editor,
.brand-radians .elementor-widget-text-editor p,
.brand-radians .elementor-widget-text-editor li,
.brand-radians .elementor-icon-list-text {
    font-family: var(--rad-font-body) !important;
    font-size:   18px !important;
}

/* Sticky Header — target the Elementor Theme Builder header wrapper,
   not the inner section (parent overflow:hidden blocks section-level sticky) */
.brand-radians header.elementor-location-header {
    position: sticky !important;
    top:      0 !important;
    z-index:  9995 !important;
    width:    100% !important;
}

/* Offset for WP admin bar (32px desktop, 46px mobile) */
.admin-bar .brand-radians header.elementor-location-header {
    top: 32px !important;
}
@media (max-width: 782px) {
    .admin-bar .brand-radians header.elementor-location-header {
        top: 46px !important;
    }
}

/* Page Title */
.brand-radians .entry-title {
    display: none;
}

/* Buttons */
.brand-radians .elementor-button {
    background-color: var(--rad-btn-bg);
    color:            var(--rad-btn-color);
    border-radius:    var(--rad-btn-radius);
}
.brand-radians .elementor-button:hover {
    background-color: var(--rad-btn-bg-hover);
    color:            var(--rad-btn-color-hover);
}

/* =============================================================================
   Event Cards — [radians_events] shortcode output
   Full-bleed image with date strip + title bar overlaid at the bottom.
   ============================================================================= */

.rad-event-grid {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   1.5rem;
    padding:               0;
    list-style:            none;
}

@media (max-width: 1024px) {
    .rad-event-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .rad-event-grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* Card wrapper */
.rad-event-card {
    position:      relative;
    overflow:      hidden;
    border-radius: 4px;
    border:        3px solid transparent;
    background:    #1a1a1a;
    transition:    transform 0.25s ease, box-shadow 0.25s ease;
}

.rad-event-card:hover {
    transform:  translateY(-3px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}

.rad-event-card--live         { border-color: var(--rad-color-secondary); }
.rad-event-card--other-events { border-color: #EC008C; }

/* Full-card link */
.rad-event-card__link {
    display:         block;
    text-decoration: none;
    color:           inherit;
    position:        relative;
}

/* Image */
.rad-event-card__image-wrap {
    display:     block;
    overflow:    hidden;
    line-height: 0;
    aspect-ratio: 3 / 2;
}

.rad-event-card__image-wrap--placeholder {
    background: #2a2a2a;
    aspect-ratio: 4 / 3;
}

.rad-event-card__image {
    display:    block;
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.rad-event-card:hover .rad-event-card__image {
    transform: scale(1.05);
}

/* BYOB badge — top-right corner */
.rad-event-byob {
    position:         absolute;
    top:              10px;
    right:            10px;
    background-color: var(--rad-color-gold);
    color:            var(--rad-color-primary);
    font-family:      var(--rad-font-body);
    font-size:        11px;
    font-weight:      800;
    padding:          0.2rem 0.55rem;
    border-radius:    20px;
    text-transform:   uppercase;
    letter-spacing:   0.06em;
    z-index:          2;
}

/* Bottom overlay: date strip + title bar side by side */
.rad-event-card__overlay {
    position: absolute;
    bottom:   0;
    left:     0;
    right:    0;
    display:  flex;
    align-items: stretch;
}

/* Date column */
.rad-event-card__date {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    padding:         0.5rem 0.75rem;
    min-width:       56px;
    flex-shrink:     0;
    line-height:     1;
    gap:             1px;
}

.brand-radians .rad-event-date__dow {
    font-family:    var(--rad-font-body) !important;
    font-size:      12px !important;
    font-weight:    700 !important;
    color:          rgba(255, 255, 255, 0.85) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.brand-radians .rad-event-date__num {
    font-family: var(--rad-font-heading) !important;
    font-size:   28px !important;
    font-weight: 800 !important;
    color:       #ffffff !important;
    line-height: 1 !important;
}

.brand-radians .rad-event-date__month {
    font-family:    var(--rad-font-body) !important;
    font-size:      12px !important;
    font-weight:    700 !important;
    color:          rgba(255, 255, 255, 0.85) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Title bar — transparent container, accent color lives on the h3 */
.rad-event-card__title-bar {
    flex:       1;
    display:    flex;
    align-items: center;
    padding:    0.5rem 0.75rem;
}

.brand-radians .rad-event-card__title {
    font-family:    var(--rad-font-heading) !important;
    font-size:      20px !important;
    font-weight:    800 !important;
    color:          #ffffff !important;
    margin:         0 !important;
    line-height:    1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    padding:        0.35rem 0.75rem !important;
    border-radius:  2px !important;
    width:          100% !important;
}

/* See All button */
.rad-events-see-all {
    text-align: center;
    margin-top: 2.5rem;
}

.rad-events-see-all__btn {
    display:          inline-block;
    padding:          0.75rem 2.5rem;
    background-color: transparent;
    color:            #FFB512 !important;
    font-family:      var(--rad-font-heading);
    font-size:        0.95rem;
    font-weight:      700;
    text-decoration:  none;
    border:           2px solid #FFB512;
    border-radius:    var(--rad-btn-radius);
    text-transform:   uppercase;
    letter-spacing:   0.06em;
    transition:       background-color 0.2s ease, color 0.2s ease;
}

.rad-events-see-all__btn:hover {
    background-color: var(--rad-color-primary);
    color:            #ffffff !important;
    border-color:     var(--rad-color-primary);
}

/* Empty state */
.brand-radians .rad-events-empty {
    font-family: var(--rad-font-body);
    font-size:   26px !important;
    font-weight: 500 !important;
    color:       #047A83 !important;
    text-align:  center;
    padding:     2rem;
    margin:      0;
    width:       100%;
}

/* =============================================================================
   Single Event Page
   ============================================================================= */

.rad-single-event {
    background-color: var(--rad-color-bg);
    /* Pull the hero up flush behind the fixed Elementor header */
    margin-top: -80px;
}

/* Hero */
.rad-event-hero {
    position:            relative;
    min-height:          520px;
    display:             flex;
    align-items:         center;
    justify-content:     center;
    background-color:    var(--rad-color-primary);
    background-image:    var(--rad-hero-image, none);
    background-size:     cover;
    background-position: center top;
    margin-top:          0;
}

.rad-event-hero__overlay {
    position:   absolute;
    inset:      0;
    /* Top: white fade so the image bleeds under the nav cleanly.
       Bottom: dark navy fade so text is always legible. */
    background: linear-gradient(
        to bottom,
        rgba(255,255,255,0.55) 0%,
        rgba(255,255,255,0.15) 18%,
        rgba(5,62,84,0.0)      35%,
        rgba(5,62,84,0.6)      70%,
        rgba(5,62,84,0.88)     100%
    );
}

.rad-event-hero__content {
    position:        relative;
    z-index:         1;
    width:           100%;
    max-width:       860px;
    margin:          0 auto;
    padding:         3rem 2rem 3.5rem;
    margin-bottom:   80px;
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    text-align:      center;
    gap:             0.75rem;
}

/* Event type banner strip */
.rad-event-type-banner {
    display:     inline-flex;
    flex-direction: column;
    align-items: center;
    padding:     0.4rem 1rem;
    align-self:  center;
    border-radius: 3px;
    gap:         2px;
    text-align:  center;
}

.rad-event-type-banner__title {
    font-family:    var(--rad-font-heading);
    font-size:      14px;
    font-weight:    700;
    color:          #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.rad-event-type-banner__sub {
    font-family: var(--rad-font-body);
    font-size:   12px;
    color:       rgba(255, 255, 255, 0.88);
}

/* Hero title */
.rad-event-hero__title {
    font-family:    var(--rad-font-heading) !important;
    font-size:      48px !important;
    font-weight:    800 !important;
    color:          #ffffff !important;
    margin:         0 !important;
    line-height:    1.1 !important;
    text-transform: uppercase !important;
    text-align:     center !important;
}

.rad-event-hero__artist {
    font-family: var(--rad-font-body) !important;
    font-size:   22px !important;
    font-weight: 400 !important;
    color:       rgba(255, 255, 255, 0.9) !important;
    margin:      0 !important;
    text-align:  center !important;
}

.rad-event-byob--hero {
    align-self: flex-start;
}

@media (max-width: 768px) {
    .rad-event-hero          { min-height: 380px; }
    .rad-event-hero__content { padding: 2rem 1.25rem 2.5rem; margin-bottom: 40px; }
    .rad-event-hero__title   { font-size: 32px !important; }
    .rad-event-hero__artist  { font-size: 18px !important; }
}

/* Event Details section */
.rad-event-details {
    padding: 3.5rem 0;
}

.rad-event-details__inner {
    max-width: 1140px;
    margin:    0 auto;
    padding:   0 2rem;
}

.rad-event-details__heading,
.rad-event-kbyg__heading {
    font-family:  var(--rad-font-heading);
    font-size:    1.6rem;
    font-weight:  700;
    color:        var(--rad-color-primary) !important;
    margin:       0 0 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom:  2px solid var(--rad-color-bg);
}

.rad-event-details__list {
    display:   grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap:       1.25rem 2rem;
    margin:    0 0 2rem;
    padding:   0;
}

.rad-event-details__item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.rad-event-details__item dt {
    font-family:    var(--rad-font-body);
    font-size:      11px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color:          var(--rad-color-text-light);
}

.rad-event-details__item dd {
    font-family: var(--rad-font-body);
    font-size:   1rem;
    font-weight: 600;
    color:       var(--rad-color-primary);
    margin:      0;
}

/* Ticket button */
.rad-event-ticket-btn {
    display:          inline-block;
    padding:          0.75rem 2rem;
    background-color: #EC008C;
    color:            #ffffff !important;
    font-family:      var(--rad-font-heading);
    font-size:        1rem;
    font-weight:      700;
    text-decoration:  none;
    border-radius:    var(--rad-btn-radius);
    text-transform:   uppercase;
    letter-spacing:   0.05em;
    transition:       background-color 0.2s ease;
}

.rad-event-ticket-btn:hover {
    background-color: #c4007a;
    color:            #ffffff !important;
}

/* Know Before You Go */
.rad-event-kbyg {
    background-color: var(--rad-color-primary);
    padding:          3.5rem 0;
}

.rad-event-kbyg__inner {
    max-width: 1140px;
    margin:    0 auto;
    padding:   0 2rem;
}

.rad-event-kbyg .rad-event-kbyg__heading {
    color:        #ffffff !important;
    border-color: rgba(255, 255, 255, 0.2);
}

.rad-event-kbyg__intro {
    font-family: var(--rad-font-body) !important;
    font-size:   1rem !important;
    color:       #ffffff !important;
    margin:      0 0 1.25rem;
    line-height: 1.6;
}

.rad-event-kbyg__list {
    font-family:  var(--rad-font-body) !important;
    font-size:    1rem !important;
    color:        #ffffff !important;
    line-height:  1.7;
    padding-left: 1.5rem !important;
    margin:       0 0 1.5rem !important;
}

.rad-event-kbyg__list li::marker {
    color: var(--rad-color-gold);
}

.rad-event-kbyg__visit-link,
.rad-event-kbyg__promoter-note {
    font-family: var(--rad-font-body) !important;
    font-size:   0.95rem !important;
    color:       #ffffff !important;
    margin:      0.75rem 0 0;
}

.rad-event-kbyg__visit-link a,
.rad-event-kbyg__promoter-note a {
    color:           #EC008C !important;
    text-decoration: underline;
}

.rad-event-kbyg__custom-note {
    margin-top:       1.5rem;
    padding:          1rem 1.25rem;
    background-color: rgba(255, 255, 255, 0.08);
    border-left:      3px solid var(--rad-color-gold);
    border-radius:    0 3px 3px 0;
    font-family:      var(--rad-font-body);
    font-size:        0.95rem;
    color:            rgba(255, 255, 255, 0.85);
}

.rad-event-kbyg__custom-note strong {
    display:      block;
    margin-bottom: 0.4rem;
    color:         var(--rad-color-gold);
}

.rad-event-kbyg__custom-note p {
    margin: 0;
    color:  rgba(255, 255, 255, 0.85);
}

/* Policies footer note */
.rad-event-policies-footer {
    font-family: var(--rad-font-body);
    font-size:   0.85rem;
    color:       var(--rad-color-text);
    text-align:  center;
    padding:     1.5rem 2rem;
    margin:      0;
    background-color: var(--rad-color-bg);
    border-top:  1px solid rgba(0,0,0,0.08);
}
