.ttpe{font-family:"Gilroy Light",sans-serif;font-weight:300;color:var(--ttpe-text,#fff);min-width:0;max-width:100%}
.ttpe .ttpe-grid{display:grid;grid-template-columns:repeat(var(--ttpe-columns,3),minmax(0,1fr));gap:24px}
.ttpe .ttpe-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #ffffff26;border-radius:16px;background:var(--ttpe-bg,#0d0d0d);box-shadow:none}
.ttpe .ttpe-art{display:block;aspect-ratio:16 / 9;overflow:hidden;background:#000}
.ttpe .ttpe-art img{display:block;width:100%;height:100%;object-fit:contain}
.ttpe .ttpe-body{display:flex;flex:1;flex-direction:column;padding:24px;gap:16px}
.ttpe time{font-family:"Gilroy Light",sans-serif;font-size:.9em;font-weight:300;line-height:1.5}
.ttpe .ttpe-body h3{font-family:"Gilroy Bold",sans-serif;font-size:1.25em;font-weight:700;line-height:1.35;margin:0;overflow-wrap:anywhere;color:inherit}
.ttpe h3 a{color:inherit;text-decoration:none}
.ttpe .ttpe-venue{font-family:"Gilroy Light",sans-serif;font-size:.95em;font-weight:300;margin:0 0 8px;line-height:1.5}
.ttpe a.ttpe-button{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;margin-top:auto;padding:14px 28px;min-height:44px;box-sizing:border-box;background:#fff;color:#000;border:1px solid #fff;border-radius:999px;font-family:"Gilroy Bold",sans-serif;font-size:13px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;text-transform:uppercase}
.ttpe a:focus-visible,.ttpe button:focus-visible{outline:2px solid var(--ttpe-accent,#AA7F31);outline-offset:4px}
.ttpe .ttpe-source{font-size:.9em;margin:24px 0;text-align:center}
.ttpe .ttpe-source a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.ttpe .ttpe-placeholder{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;text-align:center;padding:20px;font-family:"Gilroy Bold",sans-serif;font-size:1.4em;font-weight:700}
.ttpe .ttpe-card[hidden],.ttpe .ttpe-filters[hidden],.ttpe .ttpe-filter-status[hidden]{display:none!important}
.ttpe .ttpe-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 0 20px}
.ttpe .ttpe-filters button{font-family:"Gilroy Bold",sans-serif;font-size:13px;font-weight:700;line-height:1.4;text-transform:uppercase;border:1px solid #fff;border-radius:999px;padding:12px 24px;min-height:44px;background:#fff;color:#000;cursor:pointer}
.ttpe .ttpe-filters button[aria-pressed="true"]{background:#000;color:#fff;border-color:#fff}
.ttpe .ttpe-filter-status{font-size:.9em;margin:0 0 20px;color:inherit;text-align:center}
@media(hover:hover){.ttpe a.ttpe-button:hover,.ttpe .ttpe-filters button:hover{background:#fff;color:#000;border-color:var(--ttpe-accent,#AA7F31);box-shadow:0 0 0 1px var(--ttpe-accent,#AA7F31)}.ttpe .ttpe-filters button[aria-pressed="true"]:hover{background:#000;color:#fff}.ttpe .ttpe-source a:hover{text-decoration-color:var(--ttpe-accent,#AA7F31)}}
@media(max-width:900px){.ttpe .ttpe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.ttpe .ttpe-grid{grid-template-columns:1fr;gap:20px}.ttpe .ttpe-body{padding:20px}.ttpe .ttpe-filters{gap:8px}.ttpe .ttpe-filters button{padding:11px 16px}}
