/* =========================================
   FU6 CUSTOM STYLES - CONSOLIDATED
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700;800&display=swap');

/* =========================================
   1. GLOBAL FONTS
   ========================================= */
body, h1, h2, h3, h4, h5, h6,
.TicketShopHeader, .EventInfoName, .EventVenue, .EventInfoDate,
.ButtonSubmit, .ButtonTickets, button, .uk-button,
.TicketShopContent, .EventBox, .TextEvent, .EventDetails,
p, span, div, label, .DonFormLabel, .CartCount {
    font-family: 'Archivo', 'Inter', sans-serif !important;
}

.fa, .fas, .far, .fal, .fab, i, .icon, .glyphicon {
    font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome", sans-serif !important;
    text-transform: none !important;
    font-weight: 900 !important;
}

/* =========================================
   2. BACKGROUND
   ========================================= */
body, #Body, #PageBody {
    background-color: #f8f8f7 !important;
    background-image: none !important;
}

body::before, body::after {
    display: none !important;
    content: none !important;
}

.TicketShopWrapper,
.TicketShopWrapper.PageEvent,
main,
#TicketShopContent,
.EventGrid {
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: none !important;
    overflow: visible !important;
}

#TicketShopContent::before, #TicketShopContent::after,
.TicketShopWrapper::before, .TicketShopWrapper::after,
.PageEvent::before, .PageEvent::after {
    display: none !important;
    background: transparent !important;
}

/* =========================================
   3. HEADER
   ========================================= */
.TicketShopHeader {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    height: 80px !important;
    background: #f8f8f7 !important;
    background-color: #f8f8f7 !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    z-index: 100 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.HeaderWrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 1280px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.HeaderWrapper .Logo {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    height: 100% !important;
    margin: 0 !important;
}

.HeaderWrapper .Logo img {
    display: none !important;
}

.HeaderWrapper .Logo::before {
    content: "" !important;
    display: block !important;
    flex-shrink: 0 !important;
    width: 220px !important;
    height: 48px !important;
    background-image: url('https://ik.imagekit.io/facilitron/logos/logo-facilitron-padded.svg') !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
    filter: none !important;
}

.HeaderWrapper .Logo::after { display: none !important; }

.HeaderWrapper .Icons {
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 25px !important;
}

.HeaderWrapper .Icons > div,
.HeaderWrapper .Icons > a,
.HeaderWrapper .Icons > button {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #3e4564 !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
    font-size: 18px !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    box-shadow: none !important;
}

.HeaderWrapper .Icons > div:hover,
.HeaderWrapper .Icons > a:hover,
.HeaderWrapper .Icons > button:hover {
    color: #1670e6 !important;
    filter: none !important;
}

#IconGlobeTop { display: none !important; }

.CartCount {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    background-color: #1670e6 !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    width: 18px !important;
    height: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.CartCount::before { content: "" !important; }
.CartCount::after { content: "" !important; display: none !important; }

.IconCart { position: relative !important; }

@media (max-width: 860px) {
    .HeaderWrapper {
        justify-content: space-between !important;
        padding: 0 16px !important;
    }
    .HeaderWrapper .Logo {
        margin-left: 0 !important;
        justify-content: flex-start !important;
    }
    .HeaderWrapper .Logo::before {
        width: 195px !important;
        height: 44px !important;
    }
    .TicketShopHeader {
        height: 62px !important;
    }
}

/* =========================================
   4. BUTTONS
   ========================================= */
.ButtonSubmit,
.ButtonSubmitMd,
.ButtonTimedEntry.BtnChecked,
.uk-button-primary,
button[type="submit"],
.OnlineButtonSubmit,
.CartCheckout button {
    background-color: #1670e6 !important;
    color: #ffffff !important;
    border: 2px solid #1670e6 !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    letter-spacing: 0 !important;
}

.ButtonSubmit:hover,
.ButtonSubmitMd:hover,
.uk-button-primary:hover,
button[type="submit"]:hover,
.OnlineButtonSubmit:hover,
.CartCheckout button:hover {
    background-color: #1258c4 !important;
    border-color: #1258c4 !important;
}

.ButtonTickets,
.ButtonTicketsMd,
.uk-button-default {
    background-color: #ffffff !important;
    color: #1670e6 !important;
    border: 2px solid #1670e6 !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
}

#SelectTicketsButton {
    top: 89px !important;
    z-index: 90 !important;
    background: #1670e6 !important;
    border-color: #1670e6 !important;
    font-size: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#SelectTicketsButton::after {
    content: "Reserve Your Space" !important;
    font-size: 16px !important;
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-weight: 800 !important;
    text-transform: none !important;
    color: #ffffff !important;
}

@media (max-width: 1100px) {
    #SelectTicketsButton { top: 71px !important; }
}

/* =========================================
   5. HOMEPAGE HERO
   ========================================= */
.TicketShopHero {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    line-height: 0 !important;
}

.TicketShopHero img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    display: block !important;
    object-fit: unset !important;
}

.TicketShopHero::before,
.TicketShopHero::after {
    display: none !important;
    content: none !important;
}

/* Homepage wrapper - no card */
main.TicketShopWrapper:not(.PageEvent) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

main.TicketShopWrapper:not(.PageEvent) .PromoterHeader {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

main.TicketShopWrapper:not(.PageEvent) .FU6Nav {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.TicketShopWrapper:not(.PageEvent) #TicketShopContent,
.TicketShopWrapper:not(.PageEvent) .TicketShopContent,
.TicketShopWrapper:not(.PageEvent) .TicketShop {
    display: none !important;
}

/* Hide FU6Hero, Strip (not used on homepage anymore) */
.FU6Hero, .FU6Strip, .FU6HeroContent,
.FU6About, .FU6Features, .FU6CTABand {
    display: none !important;
}

/* Hide event list - single event */
.EventListWrapper, #EventListWrapper, .EventBox, .EventWrapper {
    display: none !important;
}

h1, .EventsHeadingRow, #EventsHeading {
    display: none !important;
}

/* =========================================
   6. MOSAIC DIVIDER
   ========================================= */
.FU6Mosaic {
    width: 100% !important;
    height: 80px !important;
    background-image: url('https://ik.imagekit.io/facilitron/facilitron-university/fu6/bg-mosaic.svg') !important;
    background-repeat: repeat-x !important;
    background-size: auto 100% !important;
    background-position: center !important;
    display: block !important;
}

.TicketShopWrapper.PageEvent .FU6Mosaic {
    display: none !important;
}

/* =========================================
   7. AGENDA SECTION (HOMEPAGE)
   ========================================= */
main.TicketShopWrapper:not(.PageEvent) .FU6AgendaSection {
    display: block !important;
    width: 100% !important;
    margin-top: 0 !important;
}

.TicketShopWrapper.PageEvent .FU6AgendaSection {
    display: none !important;
}

.FU6AgendaSection {
    background: #f8f8f7 !important;
    padding: 64px 48px !important;
    box-sizing: border-box !important;
}

.FU6AgendaInner {
    max-width: 1280px !important;
    margin: 0 auto !important;
}

.FU6AgendaTitleRow {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    margin-bottom: 36px !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.FU6SectionLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #1670e6 !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.FU6SectionTitle {
    font-family: 'Archivo', sans-serif !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #3e4564 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 0 !important;
    text-transform: none !important;
    display: block !important;
}

.FU6AgendaGrid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.FU6AgendaDay {
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.FU6AgendaDayHeader {
    background: #ffedd5 !important;
    padding: 18px 20px !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
}

.FU6AgendaDayNum {
    font-family: 'Archivo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #3e4564 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.FU6AgendaDayDate {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(62,69,100,0.6) !important;
    text-transform: none !important;
}

.FU6AgendaItems {
    padding: 8px 0 !important;
}

.FU6AgendaItem {
    display: flex !important;
    gap: 14px !important;
    padding: 13px 20px !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    align-items: flex-start !important;
}

.FU6AgendaItem:last-child { border-bottom: none !important; }

.FU6AgendaTime {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1670e6 !important;
    min-width: 56px !important;
    padding-top: 2px !important;
    flex-shrink: 0 !important;
    text-transform: none !important;
}

.FU6AgendaInfo strong {
    display: block !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
    margin-bottom: 2px !important;
    text-transform: none !important;
}

.FU6AgendaInfo p {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #8898aa !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    text-transform: none !important;
}

.FU6AgendaAddon {
    background: rgba(30,215,96,0.06) !important;
    border-top: 1px solid rgba(30,215,96,0.15) !important;
}

.FU6AgendaAddon .FU6AgendaTime { color: #1ed760 !important; }

/* Purchase Tickets button in agenda row */
.FU6HeroCTA {
    padding: 14px 36px !important;
    background: #1670e6 !important;
    color: #ffffff !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

@media (max-width: 768px) {
    .FU6AgendaSection { padding: 40px 20px !important; }
    .FU6AgendaGrid { grid-template-columns: 1fr !important; }
    .FU6SectionTitle { font-size: 26px !important; }
    .FU6AgendaTitleRow {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .FU6Mosaic { height: 48px !important; }
    .FU6GlassCTA { font-size: 14px !important; padding: 12px 32px !important; }
}

/* =========================================
   8. EVENT DETAIL PAGE
   ========================================= */
.TicketShopWrapper.PageEvent {
    background: #f8f8f7 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 32px 32px !important;
    max-width: 1280px !important;
    margin: 4px auto 0 !important;
}

.EventGrid {
    gap: 24px !important;
    align-items: flex-start !important;
    overflow: visible !important;
    padding-top: 12px !important;
}

/* Hide unwanted sections */
.EventGridLeft .EventOrganizerHeader,
.EventGridLeft .EventOrganizerSection,
.EventOrganizerHeader,
.EventOrganizerSection {
    display: none !important;
}

h2.EventDateTimeHeader,
.SectionWrapper.EventDateTimeSection {
    display: none !important;
}

.EventMeta .Cell:nth-child(2) { display: none !important; }
.EventMeta .Cell:first-child { width: 100% !important; border-right: none !important; }

/* EventMeta single line */
.EventMeta {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 24px !important;
}

.EventMeta .Cell {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    border-right: none !important;
    width: auto !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.EventMeta .Label,
.EventMeta .Value {
    white-space: nowrap !important;
    font-size: 13px !important;
}

/* Event title */
#EventGridHeader {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    margin-bottom: 30px !important;
    border-bottom: 4px solid #1670e6 !important;
    padding-bottom: 10px !important;
    display: inline-block !important;
}

/* Section cards */
.EventGridLeft .SectionWrapper {
    background: #f8f9fb !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 6px 24px !important;
    margin-bottom: 12px !important;
}

.EventGridLeft .EventMeta {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12px 0 !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

.EventGridLeft .SectionWrapper:last-child,
.EventGridLeft .EventMeta:last-child {
    margin-bottom: 0 !important;
}

/* Section headers */
.EventGridLeft h2,
.EventGridLeft h3,
.EventDescriptionHeader,
.EventDateTimeHeader,
.EventLocationHeader {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

h2.EventDescriptionHeader,
h2.EventLocationHeader,
h2.EventOrganizerHeader {
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

/* Body text in description */
.EventDescriptionSection p,
.EventDescriptionSection li,
.EventDescriptionSection span,
.EventDescriptionSection div,
.EventDescriptionSection td,
.EventDescriptionSection a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    text-transform: none !important;
}

.EventDescriptionSection h1,
.EventDescriptionSection h2,
.EventDescriptionSection h3,
.EventDescriptionSection h4,
.EventDescriptionSection strong,
.EventDescriptionSection b {
    font-family: 'Archivo', sans-serif !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

/* Right card */
.EventCard,
.EventCard.EventCardDesktop {
    background: #f8f9fb !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-top: 3px solid #1670e6 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 25px !important;
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
}

.EventCard .uk-button-primary,
.EventCard button,
#DateSelectButtonLocation button {
    background-color: #1670e6 !important;
    color: #ffffff !important;
    border: 2px solid #1670e6 !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    padding: 15px !important;
    width: 100% !important;
    text-transform: none !important;
}

.EventGridLeft i,
.EventGridLeft svg,
.EventCard i,
.EventCard svg {
    color: #1670e6 !important;
}

/* Calendar */
#EventCalendar,
#EventCalendarMobile,
.EventCardCalendar {
    background: #ffffff !important;
    border-radius: 10px !important;
    padding: 8px !important;
}

#EventCalendar td,
#EventCalendarMobile td {
    color: #3e4564 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    text-align: center !important;
    padding: 7px 4px !important;
    border-radius: 6px !important;
}

.CalDayLabel, .CalDay { color: #8898aa !important; }

.CalHeader,
.CalHeader button,
.CalHeader a { color: #3e4564 !important; }

#EventCalendar td.CalActive,
#EventCalendarMobile td.CalActive,
.CalActive {
    background: #1670e6 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}

#EventCalendar td.CalInactive,
#EventCalendarMobile td.CalInactive,
.CalInactive { color: rgba(0,0,0,0.2) !important; }

#EventCalendar td:not(.CalInactive):hover,
#EventCalendarMobile td:not(.CalInactive):hover {
    background: #eff9ff !important;
    cursor: pointer !important;
}

#EventCalendar td.CalToday,
#EventCalendarMobile td.CalToday,
.CalToday {
    background: rgba(22,112,230,0.1) !important;
    color: #1670e6 !important;
    font-weight: 700 !important;
}

/* =========================================
   9. TICKET OVERLAY
   ========================================= */
.TicketOverlay { background: #f8f9fb !important; }

.TicketSelectHeader {
    background: #3e4564 !important;
    border-radius: 0 !important;
    padding: 16px 20px !important;
    border-bottom: none !important;
}

.TicketSelectHeader::after {
    content: "*Note: You will not be able to view your ticket until balance has been paid in full." !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.85) !important;
    padding: 6px 20px 10px !important;
}

.TicketSelectHeader .EventName {
    color: #ffffff !important;
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    text-transform: none !important;
}

.TicketSelectHeader .EventDate {
    color: rgba(255,255,255,0.8) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    text-transform: none !important;
}

.TicketSelectHeader .EventNotes {
    color: rgba(255,255,255,0.75) !important;
    font-size: 12px !important;
    font-family: 'Inter', sans-serif !important;
    text-transform: none !important;
}

.GroupCodeButtonWrapper .ButtonSubmitAlt {
    background: transparent !important;
    border: 1.5px solid rgba(255,255,255,0.6) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    border-radius: 6px !important;
}

.TicketSelectContainer {
    background: #ffffff !important;
    border-radius: 0 !important;
}

.TicketSectionNameRow { display: none !important; }

.TicketWrapper {
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
    padding: 14px 20px !important;
    background: transparent !important;
}

.TicketWrapper:last-child { border-bottom: none !important; }

.TicketWrapper[data-id="3239578"],
.TicketWrapper[data-id="3239579"],
.TicketWrapper[data-id="3239580"] {
    background: #ffffff !important;
    border: 2px solid rgba(22,112,230,0.15) !important;
    border-top: 3px solid #1670e6 !important;
    border-radius: 10px !important;
    margin: 8px 16px !important;
    padding: 16px !important;
    box-shadow: none !important;
}

.TicketWrapper[data-id="3239588"],
.TicketWrapper[data-id="3239593"] {
    background: #ffedd5 !important;
    border: 2px solid rgba(255,165,114,0.3) !important;
    border-top: 3px solid #ffa571 !important;
    border-radius: 8px !important;
    margin: 8px 16px !important;
    padding: 14px 16px !important;
    box-shadow: none !important;
}

.TicketWrapper[data-id="3239588"]::before {
    content: none !important;
    display: none !important;
}

.TicketName {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.TicketPrice {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1670e6 !important;
    text-transform: none !important;
}

.TicketButtonsWrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    background: #f4f6f9 !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    height: 36px !important;
    width: 100px !important;
}

.PlusMinus {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #1670e6 !important;
    width: 32px !important;
    height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    font-size: 13px !important;
}

.PlusMinus:hover { background: #e8f4fd !important; }
.PlusMinus:disabled, .PlusMinus[disabled] {
    color: #c0d8ea !important;
    background: transparent !important;
}

.TicketCounter {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
    text-align: center !important;
    border-left: 1px solid rgba(0,0,0,0.08) !important;
    border-right: 1px solid rgba(0,0,0,0.08) !important;
    height: 100% !important;
}

.TicketNotes {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #8898aa !important;
    text-transform: none !important;
}

.TicketNotes i,
.TicketNotesTrigger { color: #1670e6 !important; }

.TicketNotesTrigger {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    text-transform: none !important;
    background: transparent !important;
    border: none !important;
    padding: 4px 0 !important;
}

.ButtonSubmit.OnlineButtonSubmit,
#CartContinueButton,
.ContinueButton,
.EventCard .uk-button-primary,
.EventCard button,
#SelectTicketsButton {
    background: #1670e6 !important;
    border-color: #1670e6 !important;
    text-transform: none !important;
}


/* =========================================
   10. MOBILE - EVENT DETAIL
   ========================================= */
@media (max-width: 768px) {
    .EventCard, .EventCard.EventCardDesktop {
        position: relative !important;
        top: auto !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    .TicketShopWrapper.PageEvent {
        padding: 0 12px !important;
        margin-top: 20px !important;
    }

    .EventGridLeft {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }

    iframe.GoogleMap { width: 100% !important; }

    .TicketShopContent, .EventDetails, .TextEvent, .EventBox, .EventGrid {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
    }

    .TicketShopContent img, .EventDetails img, .EventDetails iframe {
        max-width: 100% !important;
        height: auto !important;
    }
}

/* =========================================
   11. MOBILE - DATE PICKER
   ========================================= */
@media (max-width: 860px) {
    #EventCardMobile.is-open,
    .EventCard.EventCardMobile.is-open {
        display: block !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        max-width: 480px !important;
        max-height: 90vh !important;
        overflow-y: auto !important;
        z-index: 9999 !important;
        background: #f8f8f7 !important;
        border-radius: 16px 16px 0 0 !important;
        box-shadow: 0 -4px 32px rgba(0,0,0,0.15) !important;
    }

    #EventCardMobileOverlay.is-open,
    .EventCardMobileOverlay.is-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0,0,0,0.4) !important;
        z-index: 9998 !important;
    }

    #EventCardMobile table,
    #EventCardMobile .CalTable {
        width: 100% !important;
        table-layout: fixed !important;
    }

    #EventCardMobile td {
        text-align: center !important;
        padding: 8px 4px !important;
        font-size: 14px !important;
    }

    #DateSelectButton,
    .ButtonDateSelect {
        background: #1670e6 !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 8px !important;
        width: 100% !important;
        padding: 14px !important;
        font-family: 'Archivo', 'Inter', sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-transform: none !important;
    }

    .DateSelectButtonWrapper.fixed-bottom,
    #DateSelectButtonWrapper.fixed-bottom {
        background: #f8f8f7 !important;
        border-top: 1px solid rgba(0,0,0,0.08) !important;
        box-shadow: 0 -4px 16px rgba(0,0,0,0.08) !important;
        padding: 12px 16px !important;
        z-index: 500 !important;
    }

    .overlay, #overlay { overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; }
    .overlay-content { max-height: 100vh !important; overflow-y: auto !important; padding-bottom: 20px !important; }
    .CartSummaryWrapper, .CartSummary { overflow-y: auto !important; max-height: none !important; }
    .CartCheckoutFooter, #CartContinueButton, .ContinueButton, .OnlineButtonSubmit {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
    }

    .TicketShopHero { position: relative !important; z-index: 2 !important; }
}

/* =========================================
   12. FOOTER
   ========================================= */
.TicketShopImpressum, #Footer { display: none !important; }

.CustomFooter {
    background-color: #ffffff !important;
    width: 100% !important;
    padding: 40px 20px !important;
    margin-top: 60px !important;
    border-top: 1px solid rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
}

.FooterContainer {
    max-width: 1210px !important;
    margin: 0 auto !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
}

.FooterNav {
    display: flex !important;
    gap: 30px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

.FooterNav a {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #3e4564 !important;
    text-decoration: none !important;
}

.FooterNav a:hover { color: #1670e6 !important; }

.FooterBranding {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #8898aa !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-top: 10px !important;
}

.FooterBranding .BrandName {
    color: #1670e6 !important;
    font-weight: 800 !important;
}

/* =========================================
   13. PAYMENT + CUSTOM QUESTIONS PAGES
   ========================================= */

.TicketWrapper.Secondary {
    background: #ffffff !important;
    border: 2px solid rgba(29,214,95,0.15) !important;
    border-top: 3px solid #1dd65f !important;
    border-radius: 10px !important;
    margin: 8px 16px !important;
    padding: 16px !important;
    box-shadow: none !important;
}

main.TicketShopWrapper.PagePayment,
main.TicketShopWrapper.PageCustomQuestions {
    background: #f8f8f7 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 32px 40px !important;
    margin: 0 auto !important;
    max-width: 1280px !important;
}

main.TicketShopWrapper.PagePayment p,
main.TicketShopWrapper.PagePayment span:not(.fa):not([class*="fa-"]),
main.TicketShopWrapper.PagePayment label,
main.TicketShopWrapper.PageCustomQuestions p,
main.TicketShopWrapper.PageCustomQuestions span:not(.fa):not([class*="fa-"]),
main.TicketShopWrapper.PageCustomQuestions label {
    font-family: 'Inter', sans-serif !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

main.TicketShopWrapper.PagePayment h1,
main.TicketShopWrapper.PagePayment h2,
main.TicketShopWrapper.PagePayment h3,
main.TicketShopWrapper.PageCustomQuestions h1,
main.TicketShopWrapper.PageCustomQuestions h2,
main.TicketShopWrapper.PageCustomQuestions h3 {
    font-family: 'Archivo', sans-serif !important;
    text-transform: none !important;
}

.PaymentBranded {
    display: flex !important;
    gap: 32px !important;
    align-items: flex-start !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.PaymentWrapper {
    flex: 1 !important;
    min-width: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.PaymentFormWrapper {
    border: none !important;
    box-shadow: none !important;
}

.PaymentContainer {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    padding: 28px !important;
    box-shadow: none !important;
}

.PaymentContainer h2 {
    font-family: 'Archivo', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    margin-bottom: 20px !important;
}

.PayMethod {
    background: #f8f8f7 !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer !important;
}

.PayMethod.Active {
    border-color: #1670e6 !important;
    background: #eff9ff !important;
}

.PayMethod label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.CartHeaderWrapper {
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
}

.TopNavTimer {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #8898aa !important;
    text-transform: none !important;
}

.CartItem {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.ItemName {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.ItemPrice {
    font-family: 'Archivo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
}

.CartLine,
.TotalLine {
    display: flex !important;
    justify-content: space-between !important;
    padding: 8px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.CartTotal .TotalLine {
    font-family: 'Archivo', sans-serif !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    margin-top: 4px !important;
    padding-top: 12px !important;
}

.OnlineButtonSubmit.ButtonSubmitWide {
    width: 100% !important;
    margin-top: 16px !important;
    background: #1670e6 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px !important;
    font-family: 'Archivo', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.CustomQuestionsWrapper label,
.PaymentBranded label,
.CustomQuestionLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.uk-input, .uk-select, .uk-textarea {
    border: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    background: #ffffff !important;
}

.uk-input:focus, .uk-select:focus, .uk-textarea:focus {
    border-color: #1670e6 !important;
    outline: none !important;
}

@media (max-width: 768px) {
    main.TicketShopWrapper.PagePayment,
    main.TicketShopWrapper.PageCustomQuestions {
        padding: 16px !important;
    }
    .PaymentBranded { flex-direction: column !important; }
    .CartSummaryWrapper { width: 100% !important; }
}

/* =========================================
   14. EVENT DETAIL - BACKGROUND + COLORS
   ========================================= */
body, #Body, #PageBody,
.TicketShopWrapper.PageEvent,
.PageEvent,
section.Hero,
.Hero {
    background-color: #f8f8f7 !important;
    background: #f8f8f7 !important;
}

.EventCard,
.EventCard.EventCardDesktop {
    background: #f8f8f7 !important;
}

.EventInfoDate,
.EventMeta .Label,
.EventMeta .Value { color: #1670e6 !important; }

#EventCardMobile.is-open,
.EventCard.EventCardMobile.is-open { background: #f8f8f7 !important; }

/* =========================================
   15. HERO IMAGE - NO CROP
   ========================================= */
div.TicketShopHero,
div.TicketShopHero *,
.TicketShopHero img {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    object-fit: unset !important;
    aspect-ratio: unset !important;
}

.HeroWrapper { display: none !important; }

/* =========================================
   16. GLASS BUTTON IN HERO
   ========================================= */
.FU6GlassBtn {
    display: flex !important;
    justify-content: center !important;
}

.FU6GlassCTA {
    padding: 16px 52px !important;
    background: rgba(255,165,113,0.35) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    color: #ffffff !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    border: 2px solid rgba(255,165,113,0.7) !important;
    cursor: pointer !important;
    text-transform: none !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
    letter-spacing: 0 !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.2) !important;
}

.FU6GlassCTA:hover {
    background: rgba(255,165,113,0.55) !important;
    border-color: rgba(255,165,113,0.9) !important;
}

/* Hide Next Event Date and Time */
h2.EventDateTimeHeader,
.SectionWrapper.EventDateTimeSection {
    display: none !important;
}

.CartHeader.h2 {
    font-family: 'Archivo', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    letter-spacing: -0.3px !important;
}

.TopNavTimer {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #8898aa !important;
    text-transform: none !important;
}

.ItemName {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.ItemPrice {
    font-family: 'Archivo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
}

.LineLabel, .LineValue {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.TotalLabel, .TotalValue {
    font-family: 'Archivo', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.CartHeaderWrapper {
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
    background: transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

.CartCheckoutFooter,
.CartCheckoutWrapper {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Mosaic on event detail page top */
.FU6MosaicDetail {
    display: none !important;
}

.TicketShopWrapper.PageEvent .FU6MosaicDetail {
    display: block !important;
    width: 100% !important;
    height: 60px !important;
    background-image: url('https://ik.imagekit.io/facilitron/facilitron-university/fu6/bg-mosaic.svg') !important;
    background-repeat: repeat-x !important;
    background-size: auto 100% !important;
    background-position: center !important;
    margin-bottom: 0 !important;
}

/* =========================================
   BILLING PAGE
   ========================================= */

/* Sign In / Guest tabs */
.BillingSigninOptionsWrapper {
    display: flex !important;
    gap: 8px !important;
    padding: 16px 24px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    background: #ffffff !important;
}

.BillingSigninOption {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #8898aa !important;
    background: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 10px 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.BillingSigninOption:hover { color: #1670e6 !important; }
.BillingSigninOptionSelected {
    color: #1670e6 !important;
    border-bottom-color: #1670e6 !important;
    background: none !important;
}

/* Billing wrapper - no box */
.BillingWrapper,
.ContentBoxOuter.BillingWrapper {
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Billing info header */
.ContentBoxHeader.BillingInfoHeader,
.ContentBoxHeader.DeliveryHeader,
.BillingInfoHeader,
.DeliveryHeader {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #1670e6 !important;
    background: none !important;
    border: none !important;
    border-bottom: 2px solid rgba(22,112,230,0.15) !important;
    padding: 20px 24px 12px !important;
    margin: 0 0 4px 0 !important;
}

.ContentBoxInner { padding: 20px 24px !important; }

/* Billing form labels */
.BillingLabel {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #1670e6 !important;
    margin-bottom: 8px !important;
    margin-top: 4px !important;
}

/* Delivery method rows */
.DeliveryContainer,
fieldset.ContentBoxInner.DeliveryContainer { padding: 16px 24px !important; border: none !important; }
.DeliveryItem {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #3e4564 !important;
}
.DeliveryItem:last-child { border-bottom: none !important; }

/* Input fields */
.BillingWrapper .uk-input,
.BillingWrapper .uk-select,
.BillingDeliveryContainer .uk-input,
.BillingDeliveryContainer .uk-select,
.BillingDeliveryContainer .uk-textarea,
.ContentBoxInner .uk-input,
.ContentBoxInner .uk-select {
    border: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    background: #ffffff !important;
    color: #3e4564 !important;
    text-transform: none !important;
}

.BillingWrapper .uk-input:focus,
.BillingWrapper .uk-select:focus,
.BillingDeliveryContainer .uk-input:focus,
.BillingDeliveryContainer .uk-select:focus {
    border-color: #1670e6 !important;
    outline: none !important;
}

/* Terms & Conditions card */
.ContentBoxOuter.BillingEmailAgreementWrapper {
    padding: 18px 22px !important;
    margin: 18px 24px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-left: 4px solid #1670e6 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(22,112,230,0.08) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #8898aa !important;
}

.BillingEmailAgreementWrapper label,
.BillingEmailAgreementWrapper .AgreeLabel,
.BillingEmailAgreementWrapper > div:first-child {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
    letter-spacing: -0.01em !important;
}

.BillingEmailAgreementWrapper a {
    color: #1670e6 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    transition: all 0.2s ease !important;
}
.BillingEmailAgreementWrapper a:hover { color: #1258c4 !important; }

.BillingEmailAgreementWrapper strong,
.BillingEmailAgreementWrapper b { color: #1670e6 !important; font-weight: 800 !important; }

.BillingEmailAgreementWrapper input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    border: 2px solid rgba(0,0,0,0.12) !important;
    border-radius: 5px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    vertical-align: middle !important;
}
.BillingEmailAgreementWrapper input[type="checkbox"]:checked {
    background: #1670e6 !important;
    border-color: #1670e6 !important;
}
.BillingEmailAgreementWrapper input[type="checkbox"]:checked::after {
    content: "\f00c" !important;
    font-family: "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome", sans-serif !important;
    font-weight: 900 !important;
    font-size: 10px !important;
    color: #ffffff !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.BillingOrderSummaryWrapper,
.OrderSummaryWrapper { background: #f8f8f7 !important; }

/* Continue button */
.BillingDeliveryContainer .ButtonSubmit,
.BillingDeliveryContainer .ButtonSubmitWide {
    background: #1670e6 !important;
    border-color: #1670e6 !important;
    border-radius: 8px !important;
    font-family: 'Archivo', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Wider cart column on desktop only */
@media (min-width: 960px) {
    #TicketOverlay .TicketSelectWrapper {
        width: 58% !important;
        max-width: 58% !important;
        flex: 0 0 58% !important;
    }
    #TicketOverlay .CartSummaryWrapper {
        width: 42% !important;
        max-width: 42% !important;
        flex: 0 0 42% !important;
    }
}

/* Hide members login discount text */
.TicketSelectHeader div.EventNotes {
    display: none !important;
}

/* =========================================
   ADDITIONAL QUESTIONS PAGE
   ========================================= */
main.TicketShopWrapper.PageCustomQuestions {
    background: #f8f8f7 !important;
    padding: 32px 40px !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Outer grid - same 58/42 split as checkout on desktop */
@media (min-width: 960px) {
    .AddOnBranded .AddOnWrapper {
        width: 58% !important;
        max-width: 58% !important;
    }
    .AddOnBranded .CartSummaryWrapper {
        width: 42% !important;
        max-width: 42% !important;
    }
}

@media (max-width: 768px) {
    main.TicketShopWrapper.PageCustomQuestions {
        padding: 16px !important;
    }
}

/* Form card */
.AddOnFormWrapper,
.ContentBoxOuter.AddOnFormWrapper {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Form card header */
.AddOnFormWrapper .ContentBoxHeader {
    background: #ffa571 !important;
    color: #3e4564 !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 14px 20px !important;
    text-transform: none !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.AddOnFormWrapper .ContentBoxHeader .FloatLeft,
.AddOnFormWrapper .ContentBoxHeader .FloatRight {
    float: none !important;
    color: #3e4564 !important;
}

.AddOnFormWrapper .ContentBoxHeader .IconRequired i {
    color: #3e4564 !important;
    font-size: 8px !important;
}

/* Form card body */
.AddOnFormWrapper .ContentBoxInner {
    padding: 20px !important;
}

/* Question rows */
.CQFieldLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    padding-top: 8px !important;
}

.CQFieldLabel .IconRequiredSmall i {
    color: #ffa571 !important;
    font-size: 7px !important;
    vertical-align: super !important;
}

/* Inputs */
.CQFieldInput .uk-input,
.CQFieldInput .uk-select,
.CQFieldInput .uk-textarea {
    border: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    background: #ffffff !important;
    color: #3e4564 !important;
}

.CQFieldInput .uk-input:focus,
.CQFieldInput .uk-select:focus,
.CQFieldInput .uk-textarea:focus {
    border-color: #1670e6 !important;
    outline: none !important;
}

.CQFieldInput .uk-textarea {
    min-height: 80px !important;
    resize: vertical !important;
}

/* =========================================
   CART SUMMARY - CONSOLIDATED
   ========================================= */
.CartSummaryWrapper {
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    background: #f8f8f7 !important;
}

.CartSummaryContainer {
    font-family: 'Inter', sans-serif !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    overflow: hidden !important;
}

/* Sticky header */
.CartHeaderWrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 16px 16px 14px !important;
    border-bottom: 2px solid rgba(0,0,0,0.08) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    background: #f8f8f7 !important;
}

/* Scrollable items area */
.FtCartItemsScroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: 45vh !important;
    padding: 12px 0 4px !important;
}

/* Sticky totals + checkout */
.FtCartStickyFoot {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 10 !important;
    background: #f8f8f7 !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    box-shadow: 0 -6px 16px rgba(0,0,0,0.06) !important;
    flex-shrink: 0 !important;
    padding-top: 8px !important;
}

.CartHeader {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #3e4564 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex: 1 1 auto !important;
    line-height: 1 !important;
}

.TopNavTimer {
    display: none !important;
}

/* Cancel Cart button */
.CartSummaryContainer .CancelCartButton,
.CancelCartButton {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 999px !important;
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #8898aa !important;
    cursor: pointer !important;
    padding: 6px 14px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    flex-shrink: 0 !important;
}
.CartSummaryContainer .CancelCartButton:hover,
.CancelCartButton:hover {
    background: rgba(214,48,49,0.06) !important;
    border-color: #d63031 !important;
    color: #d63031 !important;
}

/* Cart item rows - card style */
.CartItem {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border-bottom: none !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    margin: 0 16px 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

.ItemName {
    flex: 1 1 auto !important;
    color: #3e4564 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
.ItemName * {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
.ItemName .fa-xmark,
.ItemName .fa-times,
.ItemName .fa-times-circle {
    font-size: 9px !important;
    color: #8898aa !important;
    vertical-align: middle !important;
    margin: 0 1px !important;
    opacity: 0.5 !important;
}

.ItemPrice {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1670e6 !important;
    white-space: nowrap !important;
}

.ItemDelete {
    background: none !important;
    border: none !important;
    color: rgba(0,0,0,0.2) !important;
    cursor: pointer !important;
    padding: 4px !important;
    font-size: 13px !important;
    transition: color 0.2s ease !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
}
.ItemDelete:hover { color: #d63031 !important; background: rgba(214,48,49,0.06) !important; }

.ItemName > span, .ItemName > div,
.CartItem > span:not(.ItemPrice),
.CartItem > div:not(.ItemDelete):not(.ItemPrice) {
    display: inline !important;
    font-size: 11px !important;
    color: #8898aa !important;
    font-weight: 400 !important;
}

/* Totals card */
.CartSubtotalWrapper {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    padding: 14px !important;
    margin: 8px 16px 0 !important;
}

.CartLine {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    padding: 4px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    border: none !important;
}
.LineLabel { color: #8898aa !important; font-weight: 500 !important; }
.LineValue { font-weight: 600 !important; color: #3e4564 !important; }

.CartTotal {
    box-sizing: border-box !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    border-bottom: none !important;
    padding: 12px 16px 0 !important;
    margin: 10px 0 0 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.TotalLine {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    border: none !important;
    min-width: 0 !important;
}

.TotalLabel {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: #1670e6 !important;
    flex-shrink: 0 !important;
}

.TotalValue {
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #1670e6 !important;
    letter-spacing: -0.03em !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* Checkout footer */
.CartCheckoutFooter {
    padding: 8px 16px 16px !important;
    border-top: none !important;
    margin-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    background: #f8f8f7 !important;
}

/* Promo code button */
.DiscountCode {
    display: block !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8898aa !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
.DiscountCode:hover:not(:disabled) {
    background: #f8f8f7 !important;
    border-color: #1670e6 !important;
    color: #1670e6 !important;
}
.DiscountCode.Disabled, .DiscountCode:disabled { opacity: 0.35 !important; cursor: not-allowed !important; }

/* Continue button */
.CartCheckout .OnlineButtonSubmit {
    display: block !important;
    width: 100% !important;
    padding: 14px 20px !important;
    font-family: 'Archivo', 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-radius: 10px !important;
    background: #1670e6 !important;
    color: #ffffff !important;
    border: 2px solid #1670e6 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 14px rgba(22,112,230,0.18) !important;
    text-align: center !important;
    margin: 0 !important;
}
.CartCheckout .OnlineButtonSubmit:hover:not(:disabled) {
    background: #1258c4 !important;
    border-color: #1258c4 !important;
    color: #ffffff !important;
}
.CartCheckout .OnlineButtonSubmit:disabled,
.CartCheckout .OnlineButtonSubmit.ButtonDisabled { opacity: 0.40 !important; cursor: not-allowed !important; box-shadow: none !important; }

.CartCheckoutNotes {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #8898aa !important;
    text-align: center !important;
    line-height: 1.5 !important;
    margin-top: 4px !important;
}

@media (max-width: 959px) {
    .CartSummaryWrapper {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Mobile - prevent cart summary bleeding off screen */
@media (max-width: 959px) {
    #CartSummary,
    .CartSummary {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
}

/* Force TicketSelectHeader visible on mobile */
@media (max-width: 959px) {
    .TicketSelectHeader {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-height: 60px !important;
        padding: 12px 16px !important;
    }

    .TicketSelectHeader .EventNameDateWrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .TicketSelectHeader .EventName,
    .TicketSelectHeader .EventDate {
        display: block !important;
        visibility: visible !important;
    }
}

/* Rename Additional Information header */
.AddOnFormWrapper .ContentBoxHeader .FloatLeft {
    font-size: 0 !important;
}

.AddOnFormWrapper .ContentBoxHeader .FloatLeft::after {
    content: "Ticket Holder Information" !important;
    font-size: 15px !important;
}

/* Ticket holder info + cart side by side */
.AddOnBranded {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 32px !important;
}

.AddOnBranded .MyTicketsInfoWrapper {
    flex: 1 !important;
    min-width: 0 !important;
}

.AddOnBranded .CartSummaryWrapper {
    width: 340px !important;
    flex-shrink: 0 !important;
}

.ContentBoxInner {
    border: none !important;
    box-shadow: none !important;
}

/* =========================================
   CONFIRMATION PAGE
   ========================================= */
.ConfirmationButton #Continue {
    font-size: 0 !important;
    color: transparent !important;
}

.ConfirmationButton #Continue::after {
    content: "Return to FU6 Info" !important;
    font-size: 15px !important;
    color: #ffffff !important;
    font-family: 'Archivo', sans-serif !important;
    font-weight: 700 !important;
}


.PageConfirmation {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 32px 20px !important;
    box-sizing: border-box !important;
}

/* Thank you banner - heading */
.ThankYou, .ThankYou h2 {
    background: #1670e6 !important;
    color: #ffffff !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    padding: 14px 18px !important;
    border-radius: 12px !important;
    margin-bottom: 4px !important;
    letter-spacing: -0.3px !important;
}

/* Thank you banner - message */
.ThankYouMessage {
    background: #1670e6 !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    padding: 14px 18px !important;
    border-radius: 12px !important;
    margin-bottom: 14px !important;
    letter-spacing: -0.3px !important;
}

/* Section headers */
.PageConfirmation .ContentBoxHeader {
    font-family: 'Archivo', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #3e4564 !important;
    text-transform: none !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid #1670e6 !important;
    padding: 0 0 8px 0 !important;
    margin: 24px 0 16px !important;
}

/* Section cards */
.PageConfirmation .SectionWrapper {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 10px !important;
    padding: 20px !important;
    margin-bottom: 16px !important;
    box-shadow: none !important;
}

/* Order confirmation message */
.OrderConfirmationMsg {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #8898aa !important;
    text-transform: none !important;
    margin-bottom: 12px !important;
}

/* Ticket row */
.MyTicketsItem {
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.MyTicketsItem:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.TicketDateTime {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #8898aa !important;
    display: block !important;
    margin-bottom: 2px !important;
}

.TicketInfo {
    font-family: 'Archivo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #3e4564 !important;
}

/* Hide per-ticket print button, keep View Confirmation */
.MyTicketsButtons .ButtonSubmitMd {
    display: none !important;
}


.PageConfirmation .FU6ReturnBtn {
    display: inline-block !important;
    background: #1670e6 !important;
    border: 2px solid #1670e6 !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-family: 'Archivo', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.PageConfirmation .FU6ReturnBtn:hover {
    background: #1258c4 !important;
    border-color: #1258c4 !important;
}

@media (max-width: 768px) {
    .PageConfirmation {
        padding: 16px !important;
    }
    .ThankYou {
        font-size: 20px !important;
        padding: 18px 20px !important;
    }
}

@media (max-width: 959px) {
    .AddOnBranded {
        flex-direction: column !important;
    }

    .AddOnBranded .MyTicketsInfoWrapper,
    .AddOnBranded .CartSummaryWrapper {
        width: 100% !important;
        max-width: 100% !important;
        flex-shrink: unset !important;
    }

    .AddOnBranded .CartSummaryWrapper {
        margin: 0 auto !important;
    }

    .AddOnBranded .CartSummaryContainer {
        padding-bottom: 80px !important;
    }
}

/* Fix sticky elements being cut off behind header on mobile */
@media (max-width: 959px) {
    .BillingSigninOptionsWrapper {
        top: 62px !important;
    }

    .TicketSelectHeader {
        top: 62px !important;
        position: sticky !important;
        z-index: 50 !important;
    }
}

/* Event card body */
.EventCardBody {
    background: #f8f8f7 !important;
}

/* Remove white space below hero image */
.TicketShopHero {
    font-size: 0 !important;
    line-height: 0 !important;
    display: block !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.TicketShopHero img {
    vertical-align: bottom !important;
    display: block !important;
}

#FU6TicketInfo {
    display: none !important;
}

.PageEvent #FU6TicketInfo {
    display: block !important;
    background: #f3f7fb !important;
    border: 1px solid rgba(22, 112, 230, 0.5) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    margin-bottom: 12px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #3e4564 !important;
    line-height: 1.6 !important;
}

.PageEvent #FU6TicketInfo strong {
    font-family: 'Archivo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.PageEvent #FU6TicketInfo ul {
    margin: 0 !important;
    padding-left: 18px !important;
}

/* Overlay close button - rounded circle */
.overlay-close {
    background: #1670e6 !important;
    border: 2px solid #1670e6 !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 15px !important;
}
.overlay-close:hover {
    background: #1258c4 !important;
    border-color: #1258c4 !important;
}