/* Scoped overrides: keep the component consistent inside WordPress themes. */
.tsevents-root{container-type:inline-size;--tse-ink:#18243a;--tse-muted:#66758c;--tse-line:#e2e8f1}
.tsevents-root [hidden]{display:none!important}
.tsevents-root .tsevents-toolbar{display:flex!important;align-items:center!important;gap:12px!important;padding:10px!important;margin:0 0 12px!important;border:1px solid #e3e9f2!important;border-radius:18px!important;background:#f8fafd!important;box-shadow:0 3px 16px #17203305!important}
.tsevents-root .tsevents-search{flex:1!important;min-width:0!important;display:flex!important;align-items:center!important;gap:10px!important;height:48px!important;padding:0 15px!important;margin:0!important;background:#fff!important;border:1px solid #dce4ef!important;border-radius:12px!important;transition:border-color .15s}
.tsevents-root .tsevents-search:focus-within{border-color:#438dde!important;box-shadow:0 0 0 3px #438dde18!important}
.tsevents-search svg{flex:0 0 20px!important;color:#7a8ca8!important}
.tsevents-root .tsevents-search input{display:block!important;flex:1!important;min-width:0!important;width:100%!important;height:46px!important;min-height:0!important;max-height:46px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;font-size:14px!important;line-height:normal!important;color:#18243a!important}
.tsevents-root .tsevents-search input::placeholder{color:#7b8799!important;opacity:1!important}
.tsevents-root .tsevents-filter{flex:0 1 235px!important;width:auto!important;min-width:190px!important;max-width:100%!important;height:48px!important;min-height:0!important;margin:0!important;padding:0 36px 0 15px!important;border:1px solid #dce4ef!important;border-radius:12px!important;background-color:#fff!important;font:inherit!important;font-size:14px!important;line-height:normal!important;color:#34445d!important;box-shadow:none!important}
.tsevents-reset{flex:0 0 auto;border:0!important;border-radius:10px!important;margin:0!important;padding:12px!important;background:#e9f1fb!important;color:#2462a8!important;cursor:pointer;white-space:nowrap;font-size:12px!important;font-weight:600!important}
.tsevents-root :is(a,button,input,select):focus-visible{outline:2px solid #2165ae!important;outline-offset:3px}
.tsevents-root .tsevents-btn.ended{background:#fff0f0!important;color:#bf303b!important;border:1px solid #f3c6cb!important;box-shadow:none!important;font-weight:700!important}
.tsevents-btn.ended::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
/* Desktop: one shared grid and aligned, non-breaking headings. */
.tsevents-root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;min-width:0!important;max-width:100%!important}
.tsevents-root .tsevents-table{border:1px solid #dfe6ef!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 4px 18px #17203305!important}
.tsevents-root .tsevents-header,.tsevents-root .tsevents-row{display:grid!important;grid-template-columns:190px 130px minmax(200px,2fr) minmax(165px,1fr) minmax(175px,1fr) 215px!important;gap:0!important;padding:0 12px!important;align-items:stretch!important}
.tsevents-root .tsevents-header{background:#f1f5fa!important;border-bottom:1px solid #dfe6ef!important;margin:0!important}
.tsevents-root .tsevents-header>div{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;padding:17px 8px!important;font-size:11px!important;line-height:1.4!important;font-weight:700!important;color:#62738c!important;letter-spacing:.04em!important}
.tsevents-root .tsevents-list{gap:0!important}
.tsevents-root .tsevents-row{border:0!important;border-bottom:1px solid #e7ecf3!important;border-radius:0!important;margin:0!important;box-shadow:none!important;min-height:108px!important;background:#fff!important}
.tsevents-root .tsevents-row:last-of-type{border-bottom:0!important}
.tsevents-root .tsevents-row:hover{background:#fafdff!important;box-shadow:none!important}
.tsevents-root .tsevents-cell{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-width:0!important;padding:16px 12px!important;text-align:left!important;grid-column:auto!important;grid-row:auto!important}
.tsevents-root .tsevents-header>div+div,.tsevents-root .tsevents-cell+.tsevents-cell{border-left:1px solid #e8edf4!important}
.tsevents-root .tsevents-cell:before{display:none!important}
.tsevents-root .tsevents-date{flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:nowrap!important}
.tsevents-date-stack{display:flex;flex-direction:column;gap:5px;flex:0 0 58px;min-width:0}
.tsevents-root .tsevents-datebox{width:58px!important;height:68px!important;flex-basis:auto!important}
.tsevents-root .tsevents-range{display:block!important;font-size:10px!important;line-height:1.3!important}
.tsevents-root .tsevents-thumbnail{display:block!important;flex:0 0 92px!important;width:92px!important;aspect-ratio:1000/760!important;border:1px solid #dce4ef!important;border-radius:9px!important;overflow:hidden!important;background:#f4f7fb!important;line-height:0!important}
.tsevents-root .tsevents-thumbnail img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;aspect-ratio:1000/760!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important}
.tsevents-root .tsevents-discipline{align-items:center!important}
.tsevents-root .tsevents-chip{white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important;line-height:1.3!important;max-width:100%!important}
.tsevents-root .tsevents-event h3{font-size:16px!important;line-height:1.45!important;margin:0!important;overflow-wrap:anywhere!important}
.tsevents-root .tsevents-mobile-date{display:none!important}
.tsevents-root .tsevents-location-link{color:#286aad!important;text-decoration:none!important;font-weight:600!important;font-size:13px!important;line-height:1.5!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;white-space:normal!important}
.tsevents-root .tsevents-location-link:hover{text-decoration:underline!important;text-underline-offset:3px}
.tsevents-root .tsevents-region span{font-size:13px!important;line-height:1.5!important}
.tsevents-root .tsevents-actions{flex-direction:row!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:8px!important}
.tsevents-root .tsevents-btn{min-height:44px!important;line-height:1.35!important;white-space:normal!important;text-align:center!important;max-width:100%!important;flex:0 1 auto!important;padding:10px 14px!important}
.tsevents-root .tsevents-icon{display:grid!important;flex:0 0 36px!important;width:36px!important;height:36px!important}
.tsevents-root .tsevents-empty{border:0!important;border-radius:0!important;margin:0!important}
/* The same card rules run on narrow containers AND narrow viewports (Safari fallback). */

@media(max-width:767px){
 .tsevents-root .tsevents-table{border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;border-radius:0!important}
 .tsevents-root .tsevents-header{display:none!important}
 .tsevents-root .tsevents-list{gap:14px!important}
 .tsevents-root .tsevents-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"date discipline" "event event" "city city" "region region" "actions actions"!important;gap:12px!important;padding:18px!important;border:1px solid #e0e7f0!important;border-radius:16px!important;min-height:0!important;box-shadow:0 3px 12px #17203305!important}
 .tsevents-root .tsevents-row:last-of-type{border-bottom:1px solid #e0e7f0!important}
 .tsevents-root .tsevents-cell{border:0!important;padding:0!important;min-width:0!important;grid-row:auto!important;grid-column:auto!important}
 .tsevents-root .tsevents-date{grid-area:date!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important}
 .tsevents-root .tsevents-discipline{grid-area:discipline!important;align-self:start!important;align-items:flex-end!important;max-width:105px!important}
 .tsevents-root .tsevents-chip{font-size:11px!important;padding:6px 8px!important}
 .tsevents-root .tsevents-event{grid-area:event!important}
 .tsevents-root .tsevents-event h3{font-size:18px!important;line-height:1.4!important;font-weight:750!important}
 .tsevents-root .tsevents-city{grid-area:city!important;margin-top:2px!important}
 .tsevents-root .tsevents-region{grid-area:region!important}
 .tsevents-root .tsevents-city:before,.tsevents-root .tsevents-region:before{display:block!important;content:attr(data-label)!important;color:#78879b!important;font-size:10px!important;font-weight:600!important;letter-spacing:.05em!important;line-height:1.4!important;margin:0 0 3px!important;text-transform:uppercase!important}
 .tsevents-root .tsevents-location-link,.tsevents-root .tsevents-city strong,.tsevents-root .tsevents-city span,.tsevents-root .tsevents-region span{font-size:14px!important;line-height:1.5!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
 .tsevents-root .tsevents-actions{grid-area:actions!important;display:flex!important;justify-content:flex-start!important;padding-top:14px!important;margin-top:2px!important;border-top:1px solid #edf1f6!important;gap:8px!important}
 .tsevents-root .tsevents-btn{flex:1 1 100%!important;width:100%!important;min-height:48px!important;font-size:14px!important;border-radius:12px!important;padding:12px 16px!important}
 .tsevents-root .tsevents-icon{flex:0 0 44px!important;width:44px!important;height:44px!important}
 .tsevents-root .tsevents-toolbar{flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:10px!important;margin-bottom:16px!important}
 .tsevents-root .tsevents-search{flex:0 0 48px!important;width:100%!important;min-height:48px!important}
 .tsevents-root .tsevents-search input{font-size:16px!important}
 .tsevents-root .tsevents-filter{flex:0 0 48px!important;width:100%!important;min-width:0!important;font-size:16px!important}
 .tsevents-root .tsevents-reset{min-height:44px!important;font-size:14px!important}
}
@media(max-width:767px){@container(max-width:340px){.tsevents-root .tsevents-row{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"date" "discipline" "event" "city" "region" "actions"!important;padding:16px!important}.tsevents-root .tsevents-discipline{align-items:flex-start!important;max-width:100%!important}}}
@media(max-width:374px){.tsevents-root .tsevents-row{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"date" "discipline" "event" "city" "region" "actions"!important;padding:16px!important}.tsevents-root .tsevents-discipline{align-items:flex-start!important;max-width:100%!important}}
@media(max-width:767px){.tsevents-root .tsevents-row .tsevents-cell{border-left:0!important}}

/* Desktop always remains a table, including inside narrower theme columns. */
@media(min-width:768px){.tsevents-root .tsevents-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.tsevents-root .tsevents-header,.tsevents-root .tsevents-row{min-width:1130px!important}.tsevents-root .tsevents-list{min-width:1130px!important}}
/* 1.6.4: center the requested desktop columns; mobile cards stay unchanged. */
@media(min-width:768px){
 .tsevents-root .tsevents-row .tsevents-event,
 .tsevents-root .tsevents-row .tsevents-city,
 .tsevents-root .tsevents-row .tsevents-region{align-items:center!important;text-align:center!important}
 .tsevents-root .tsevents-event h3,
 .tsevents-root .tsevents-city :is(a,span,strong),
 .tsevents-root .tsevents-region :is(a,span,strong){text-align:center!important}
}
/* Visibility must outrank desktop AND mobile display:grid rules. */
.tsevents-root .tsevents-row[hidden],
.tsevents-root .tsevents-empty[hidden],
.tsevents-root .tsevents-reset[hidden]{display:none!important}
/* Results LIVE: readable red button with a slow broadcast-style indicator. */
.tsevents-root .tsevents-btn.primary.is-live{background:#c6283c!important;color:#fff!important;border:1px solid #af2033!important;box-shadow:0 4px 12px #c6283c20!important}
.tsevents-root .tsevents-live-dot{display:inline-block!important;width:8px!important;height:8px!important;flex:0 0 8px!important;border-radius:50%!important;background:currentColor!important;animation:tsevents-live-pulse 1.6s ease-in-out infinite}
.tsevents-root .tsevents-live-dot[hidden]{display:none!important}
@keyframes tsevents-live-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.tsevents-root .tsevents-live-dot{animation:none!important}}

/* Homepage weekend carousel: isolated from the event tables. */
.tsevents-weekend{container-type:inline-size;margin:24px 0}
.tsevents-weekend-heading{display:flex;flex-direction:column;align-items:center;gap:20px;margin:0 0 32px;padding:36px 16px 0;text-align:center}
.tsevents-weekend-heading>div:first-child{width:100%;min-width:0}
.tsevents-weekend-heading h2{margin:0!important;font-family:Inter,"Segoe UI",Arial,sans-serif!important;font-size:var(--tse-weekend-title-size,36px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.12!important;color:#18232d!important;text-align:center!important;overflow-wrap:break-word}
.tsevents-weekend-heading h2:after{content:"";display:block;width:78px;height:5px;margin:16px auto 0;border-radius:999px;background:linear-gradient(90deg,#438dde,#9acbf3)}
.tsevents-weekend-controls{display:flex;gap:8px;align-self:flex-end}
.tsevents-weekend-controls[hidden]{display:none!important}
.tsevents-weekend-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;margin:0;border:1px solid var(--tse-line);border-radius:12px;background:#fff;color:var(--tse-blue);font-size:22px;cursor:pointer;box-shadow:none}
.tsevents-weekend-controls button:disabled{opacity:.35;cursor:default}
.tsevents-weekend-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:1px;padding:2px 1px 16px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a9c9ee transparent}
.tsevents-weekend-card{min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;border:1px solid var(--tse-line);border-radius:18px;overflow:hidden;background:#fff}
.tsevents-weekend-image{aspect-ratio:1000/760;display:grid;place-items:center;background:linear-gradient(135deg,#edf5ff,#f7f9fc);color:#438dde;font-weight:800;letter-spacing:.12em}
.tsevents-weekend-image img{display:block;width:100%!important;height:100%!important;object-fit:contain;margin:0!important;border:0!important;border-radius:0!important}
.tsevents-weekend-body{display:flex;flex:1;flex-direction:column;padding:18px;gap:12px}
.tsevents-weekend-date{margin:0!important;color:var(--tse-blue);font-size:13px;font-weight:700}
.tsevents-weekend-body h3{margin:0!important;font-size:19px!important;line-height:1.4!important;color:var(--tse-ink);overflow-wrap:anywhere}
.tsevents-weekend-action{margin-top:auto;padding-top:8px}
.tsevents-weekend-action .tsevents-btn{width:100%;white-space:normal!important;text-align:center;min-height:48px}
.tsevents-weekend-empty{padding:28px;border:1px dashed var(--tse-line);border-radius:16px;background:var(--tse-soft);color:var(--tse-muted)}
.tsevents-weekend :focus-visible{outline:3px solid #2674c9;outline-offset:3px}
@media(max-width:1023px){.tsevents-weekend-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:600px){.tsevents-weekend-track{grid-auto-columns:86%;gap:14px}.tsevents-weekend-heading{padding-top:20px;margin-bottom:24px}.tsevents-weekend-body{padding:16px}}
@container(max-width:900px){.tsevents-weekend-track{grid-auto-columns:calc((100% - 18px)/2)}}
@container(max-width:540px){.tsevents-weekend-track{grid-auto-columns:86%;gap:14px}}

@media(max-width:600px){.tsevents-weekend-heading h2{font-size:var(--tse-weekend-mobile-title-size,26px)!important}}
@container(max-width:540px){.tsevents-weekend-heading h2{font-size:var(--tse-weekend-mobile-title-size,26px)!important}}

/* Equal search fields, with date filters first; wrap before fields become cramped. */
.tsevents-root .tsevents-toolbar{flex-wrap:wrap!important}
.tsevents-root .tsevents-toolbar .tsevents-search{flex:1 1 220px!important;min-width:0!important}
.tsevents-root .tsevents-toolbar .tsevents-filter{flex:0 1 180px!important;min-width:150px!important}
@media(max-width:767px){
 .tsevents-root .tsevents-toolbar .tsevents-search{flex:0 0 auto!important;width:100%!important}
 .tsevents-root .tsevents-toolbar .tsevents-filter{flex:0 0 48px!important;width:100%!important;min-width:0!important}
}
