/* Event listing: full posters, including the formerly horizontal lead card. */
body.vibe-site #main .vibe-events-listing {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 28px;
    margin: 0 0 30px !important;
    padding: 8px 0 24px;
    border-radius: 0;
    background: transparent !important;
}
body.vibe-site #main .vibe-event-listing-column {
    flex: 0 1 260px !important;
    width: 260px !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.vibe-site #main .vibe-event-listing-card {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: var(--vibe-page-surface, #fff) !important;
    border: 1px solid var(--vibe-page-line, #e6e9f0) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(18,32,64,.055) !important;
    transform: none !important;
    overflow: hidden !important;
}
body.vibe-site #main .vibe-event-listing-card > a { display: block; text-decoration: none; }
body.vibe-site #main .vibe-event-listing-card .vibe-event-listing-art {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: var(--vibe-page-surface-soft, #f3f5fa) !important;
    box-shadow: none;
    transition: transform 250ms ease;
}
body.vibe-site #main .vibe-event-listing-card .vibe-event-listing-art img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    transform: none !important;
}
body.vibe-site #main .vibe-event-listing-card .details {
    position: static !important;
    display: block !important;
    width: 100% !important;
    padding: 20px !important;
    margin: 0 !important;
    background: transparent !important;
    text-align: left;
    color: var(--vibe-page-text, #182034) !important;
}
body.vibe-site #main .vibe-event-listing-card .title {
    display: block !important;
    color: var(--vibe-page-text, #182034) !important;
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
    margin: 8px 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
}
body.vibe-site #main .vibe-event-listing-card .date,
body.vibe-site #main .vibe-event-listing-card .venue { color: var(--vibe-page-muted, #667085) !important; font-size: .875rem !important; line-height: 1.5 !important; margin: 4px 0 !important; }
body.vibe-site #main .vibe-event-listing-card .button,
body.vibe-site #main .vibe-event-listing-card .button-contrast {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 15px !important;
    margin: 12px 3px 0 !important;
    border: 1px solid var(--vibe-page-line, #dde3ef) !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: var(--vibe-page-blue, #a32b65) !important;
    font-size: .875rem !important;
}
body.vibe-site #main .vibe-event-listing-card a:focus-visible { outline: 3px solid #b8ccff; outline-offset: 4px; }
body.vibe-site #main .vibe-event-listing-card .button-contrast {
    background: #a32b65 !important;
    border-color: #a32b65 !important;
    color: #fff !important;
}
body.vibe-site #main .vibe-event-listing-card .button:hover { background: var(--vibe-page-surface-soft, #eef2ff) !important; }
body.vibe-site #main .vibe-event-listing-card .button-contrast:hover { background: #70234d !important; }
/* One upcoming event becomes a balanced poster/detail feature, not an empty band. */
@media (min-width: 700px) {
    body.vibe-site #main .vibe-event-listing-column:only-child:has(.element-list-latest) {
        flex-basis: 800px !important;
        width: 800px !important;
    }
    body.vibe-site #main .vibe-event-listing-column:only-child .element-list-latest {
        display: grid !important;
        grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
        align-items: center;
    }
    body.vibe-site #main .vibe-event-listing-column:only-child .element-list-latest .details {
        padding: clamp(24px, 4vw, 44px) !important;
    }
    body.vibe-site #main .vibe-event-listing-column:only-child .element-list-latest .title {
        font-size: clamp(1.65rem, 2.7vw, 2.3rem) !important;
        line-height: 1.2 !important;
        letter-spacing: -.035em;
        margin: 18px 0 22px !important;
    }
}
@media (max-width: 699px) {
    body.vibe-site #main .vibe-event-listing-column:only-child { flex-basis: 340px !important; width: 340px !important; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.vibe-site #main .vibe-event-listing-card:hover .vibe-event-listing-art { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
    body.vibe-site #main .vibe-event-listing-art { transition: none !important; }
}
/* Automatic partner carousel; one partner keeps the existing static layout. */
body.vibe-site .vibe-partners-carousel { width: 100%; min-width: 0; text-align: center; }
body.vibe-site .vibe-partners-carousel .glide__track { overflow: hidden; padding: 10px 0; }
body.vibe-site .vibe-partners-carousel .glide__slides { align-items: center; }
body.vibe-site .vibe-partners-carousel .home-sponsors-list { height: auto; }
body.vibe-site .vibe-partners-carousel .img-wpr { display: flex; align-items: center; justify-content: center; height: 120px; }
body.vibe-site .vibe-partners-carousel .img-wpr a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.vibe-site .vibe-partners-carousel img { width: auto; height: auto; max-width: 190px; max-height: 110px; object-fit: contain; }
body.vibe-site .vibe-partners-pause { display: inline-block; margin: 14px auto 0; padding: 8px 12px; min-height: 40px; border: 0; border-radius: 8px; background: transparent; color: #a32b65; font: inherit; font-size: .875rem; cursor: pointer; }
body.vibe-site .vibe-partners-pause:hover { background: rgba(80,118,220,.08); }
body.vibe-site .vibe-partners-pause:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
body.vibe-site .vibe-home-block--color .vibe-partners-pause { color: #fff; }
/* Homepage agenda: full posters, Vibe-blue atmosphere, existing event links. */
body.vibe-site.page-home .vibe-home-block.vibe-events-posters {
    margin-top: clamp(36px, 5vw, 64px) !important;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(36px, 5vw, 64px) 0 !important;
    background: var(--vibe-player-gradient) !important;
    color: #fff;
}
body.vibe-site.page-home .vibe-events-posters::before,
body.vibe-site.page-home .vibe-events-posters::after {
    content: none !important;
}
body.vibe-site.page-home .vibe-events-posters > .container { position: relative; background: transparent !important; }
body.vibe-site.page-home .vibe-events-posters .page-header {
    padding: 0 !important;
    margin: 0 0 30px !important;
    border: 0 !important;
    background: transparent !important;
}
body.vibe-site.page-home .vibe-events-posters .page-header::before,
body.vibe-site.page-home .vibe-events-posters .page-header::after,
body.vibe-site.page-home .vibe-events-posters .page-header .title::before,
body.vibe-site.page-home .vibe-events-posters .page-header .title::after { content: none !important; }
body.vibe-site.page-home .vibe-events-posters .page-header > div { justify-content: center !important; }
body.vibe-site.page-home .vibe-events-posters .page-header .title {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -.035em;
    text-align: center;
}
body.vibe-site.page-home .vibe-events-posters .vibe-events-poster-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch;
    gap: 30px;
    margin: 0 !important;
}
body.vibe-site.page-home .vibe-events-posters .vibe-events-poster-column {
    flex: 0 1 260px !important;
    width: 260px !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.vibe-site.page-home .vibe-events-posters .element-list {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
body.vibe-site.page-home .vibe-events-posters .element-list > a {
    display: block;
    color: #fff !important;
    text-decoration: none;
    border-radius: 8px;
}
body.vibe-site.page-home .vibe-events-posters .img-wpr {
    position: relative;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 8px !important;
    background: rgba(3,7,23,.55) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
    transition: transform 280ms cubic-bezier(.2,.7,.2,1), box-shadow 280ms ease;
}
body.vibe-site.page-home .vibe-events-posters .img-wpr .img {
    position: absolute !important;
    inset: 0 !important;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}
body.vibe-site.page-home .vibe-events-posters .details {
    padding: 0 4px !important;
    margin: 0 !important;
    text-align: center;
    background: transparent !important;
}
body.vibe-site.page-home .vibe-events-posters .vibe-event-demo-label {
    display: block;
    margin: 0 0 8px;
    color: #ffdd76;
    font-size: .75rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: .025em;
}
body.vibe-site.page-home .vibe-events-posters .details .title {
    display: block !important;
    margin: 0 0 8px !important;
    color: #fff !important;
    font-size: 1.125rem !important;
    font-weight: 700;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
}
body.vibe-site.page-home .vibe-events-posters .venue,
body.vibe-site.page-home .vibe-events-posters .date {
    color: #ffe3ef !important;
    font-size: .875rem !important;
    line-height: 1.5 !important;
    margin: 2px 0 0 !important;
}
body.vibe-site.page-home .vibe-events-posters .btn-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 32px auto 0 !important;
    padding: 11px 24px !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.04) !important;
    color: #fff !important;
    font-size: .875rem !important;
    line-height: 1.4;
    box-shadow: none !important;
    transition: background 180ms ease, border-color 180ms ease;
}
body.vibe-site.page-home .vibe-events-posters .element-list > a:focus-visible,
body.vibe-site.page-home .vibe-events-posters .btn-action:focus-visible { outline: 3px solid #9dbaff; outline-offset: 6px; }
@media (hover: hover) and (pointer: fine) {
    body.vibe-site.page-home .vibe-events-posters .element-list > a:hover .img-wpr { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(0,0,0,.4); }
    body.vibe-site.page-home .vibe-events-posters .btn-action:hover { background: rgba(255,255,255,.14) !important; border-color: #fff !important; }
}
@media (max-width: 575px) {
    body.vibe-site.page-home .vibe-events-posters .vibe-events-poster-grid { gap: 26px 16px; }
    body.vibe-site.page-home .vibe-events-posters .vibe-events-poster-column { flex-basis: min(260px, 100%) !important; }
}
@media (prefers-reduced-motion: reduce) {
    body.vibe-site.page-home .vibe-events-posters .img-wpr,
    body.vibe-site.page-home .vibe-events-posters .btn-action { transition: none !important; transform: none !important; }
}
@keyframes vibe-event-poster-enter {
    from { opacity: 0; transform: translate3d(0, 22px, 0) scale(.975); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
    body.vibe-site.page-home .vibe-events-posters.is-events-revealed .vibe-events-poster-column {
        animation: vibe-event-poster-enter 620ms cubic-bezier(.2,.75,.25,1) both;
        animation-delay: var(--event-enter-delay, 0ms);
    }
}


body.sunhit-site .sunhit-global-search-filters{display:flex!important;flex-wrap:wrap!important;gap:7px!important;overflow:visible!important;height:auto!important}body.sunhit-site .sunhit-global-search-filters button{flex:0 0 auto!important;min-height:40px;white-space:nowrap!important}

body.vibe-site #main .vibe-event-listing-card .vibe-event-listing-art.is-landscape-art{aspect-ratio:16/9!important}

/* Softer poster corners only; preserve image ratios and full artwork. */
body.vibe-site.page-home .vibe-events-posters .img-wpr,
body.vibe-site.page-home .vibe-events-posters .img-wpr .img,
body.vibe-site #main .vibe-event-listing-card,
body.vibe-site #main .vibe-event-listing-art,
body.vibe-site #main .vibe-event-listing-art img,
body.vibe-site.sunhit-event-detail #main .element-post .img-wpr,
body.vibe-site.sunhit-event-detail #main .element-post .img-ctr,
body.vibe-site.sunhit-event-detail #main .element-post .img,
body.vibe-site.sunhit-event-detail #main .element-list .img-wpr,
body.vibe-site.sunhit-event-detail #main .element-list .img{border-radius:20px!important}
body.vibe-site.sunhit-event-detail #main .element-post .img-wpr,
body.vibe-site.sunhit-event-detail #main .element-post .img-ctr{overflow:hidden}
body.vibe-site.sunhit-event-detail #main .element-post .img-wpr.sunhit-detail-poster{
 display:flex!important;justify-content:center;align-items:center;position:relative!important;
 width:100%!important;max-width:460px!important;height:auto!important;min-height:0!important;
 aspect-ratio:auto!important;margin:28px auto!important;padding:0!important;background:transparent!important;box-shadow:none!important;
}
body.vibe-site.sunhit-event-detail #main .element-post .sunhit-detail-poster > img.img{
 display:block!important;position:static!important;width:auto!important;height:auto!important;
 max-width:100%!important;max-height:720px!important;object-fit:contain!important;transform:none!important;margin:0 auto!important;
}
body.vibe-site.sunhit-event-detail #main .element-post .sunhit-detail-poster .img-ctr{display:none!important}

/* Interior page titles: centered independently of filters and search controls. */
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block){
 display:flex!important;flex-direction:column!important;align-items:center!important;
 justify-content:center!important;text-align:center!important;gap:16px!important;
 padding-inline:clamp(12px,3vw,32px)!important;
}
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > h1,
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > .title,
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > .page-header-title{
 display:block!important;position:static!important;float:none!important;transform:none!important;
 width:100%!important;max-width:950px!important;min-width:0!important;
 margin:0 auto!important;padding-inline:0!important;text-align:center!important;
 line-height:1.12!important;white-space:normal!important;overflow-wrap:anywhere;
}
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > .top,
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > .bottom{
 width:100%!important;margin:0 auto!important;text-align:center!important;
}
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > .custom-select-wpr{
 position:relative!important;inset:auto!important;transform:none!important;float:none!important;
 flex:0 0 auto!important;width:220px!important;min-width:0!important;max-width:100%!important;margin:0 auto!important;text-align:left;
}
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > .vibe-artist-search{
 width:100%!important;max-width:640px!important;min-width:0!important;margin:0 auto!important;text-align:left;
}
body.vibe-site:not(.page-home) #main .page-header:not(.page-header-block) > [class^="pills-style-"]{
 width:100%;max-width:640px;margin:0 auto!important;min-width:0;
}
