/* Public directory only: private workspace calendars retain their compact layout. */
.tj-calendar-dialog .tj-event-image-preview{display:block;width:100%;max-height:340px;object-fit:contain;background:#fff;border:1px solid #777;margin:12px 0}.tj-calendar-dialog .tj-event-image-preview[hidden]{display:none}
.tj-event-directory{--events-pink:#ff1478;--events-panel:#191f24;--events-line:#424a50;background:radial-gradient(ellipse at 85% 0%,#36212e 0,transparent 40%),#10171c;color:#f8f5ed;border:0;border-radius:16px;padding:24px;max-width:100%;font:400 15px/1.5 Arial,sans-serif}
.tj-event-directory>.tj-calendar-heading{position:relative;min-height:145px;justify-content:flex-start;gap:12px;padding:20px 8px 28px;background:linear-gradient(115deg,transparent 45%,#ff14781a 45.2%,transparent 70%);isolation:isolate}
.tj-event-directory .tj-calendar-heading h2{color:#faf6e9;font:950 clamp(44px,7vw,88px)/.95 Arial Black,Arial,sans-serif;letter-spacing:-.06em;margin:0 auto 0 0;text-transform:uppercase;transform:rotate(-2deg)}
.tj-event-directory .tj-events-kicker{position:absolute;top:0;left:10px;color:#f3c6d9;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin:0}
.tj-event-directory>.tj-calendar-heading>button{align-self:flex-end}
.tj-event-directory>.tj-calendar-heading+p{color:#c4cbd0;margin:0 8px 20px}
.tj-event-directory .tj-events-search{display:flex;gap:0;margin:0 0 20px;border-radius:12px;overflow:hidden;background:#f6f2e8}
.tj-event-directory .tj-events-search input{min-width:0;flex:1;background:#f6f2e8;color:#171c20;border:0;padding:14px 18px}
.tj-event-directory .tj-events-search button{border:0;min-width:120px;border-radius:0;color:#fff}
.tj-event-directory .tj-events-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.tj-event-directory .tj-events-filters{padding:18px;border:1px solid var(--events-line);border-radius:14px;background:#12191de6}
.tj-event-directory .tj-events-filters h3{font:800 20px/1.2 Arial,sans-serif;color:#fff;margin:0 0 24px}
.tj-event-directory .tj-events-filters label{display:block;font-size:13px;font-weight:700;color:#f5f3ed;margin:20px 0}
.tj-event-directory .tj-events-filters label input,.tj-event-directory .tj-events-filters label select{display:block;width:100%;margin-top:8px}
.tj-event-directory .tj-events-filter-note{color:#bcc3c9;font-size:12px}
.tj-event-directory select,.tj-event-directory input[type=month],.tj-event-directory .tj-events-filters input{background:#30383f;color:#f8f6ef;border:1px solid #59636c;border-radius:8px;font:400 14px/1.5 Arial,sans-serif;padding:9px;min-height:44px}
.tj-event-directory .tj-events-results{min-width:0}
.tj-event-directory [data-calendar-toolbar]{gap:10px;margin:0 0 12px}
.tj-event-directory [data-calendar-toolbar]>label{font-size:12px;color:#bbc3ca;display:flex;align-items:center;gap:8px}
.tj-event-directory [data-calendar-toolbar] button,.tj-event-directory .tj-events-viewbar button,.tj-event-directory .tj-events-filters>button{background:#252d33;color:#f8f5ee;border:1px solid #57616a;border-radius:8px}
.tj-event-directory .tj-events-viewbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}
.tj-event-directory .tj-events-viewbar [aria-pressed=true]{background:var(--events-pink);border-color:var(--events-pink);color:#111}
.tj-event-directory .tj-events-viewbar select{margin-left:auto;max-width:200px}
.tj-event-directory .tj-events-viewbar p{font-size:12px;color:#c8cdd1;margin:0 0 0 8px}
.tj-event-directory .tj-event-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}
.tj-event-directory .tj-calendar-event{position:relative;overflow:hidden;margin:0;padding:0;border:1px solid #434d55;border-radius:14px;background:linear-gradient(#20282f,#171e23);color:#f8f5ed}
.tj-event-directory .tj-event-card-media{position:relative;aspect-ratio:2.25;overflow:hidden;background:#242c32}
.tj-event-directory .tj-event-card-media>img{width:100%;height:100%;object-fit:cover;display:block}
.tj-event-directory .tj-event-no-image{background:repeating-linear-gradient(125deg,transparent 0 22px,#ffffff05 23px 24px),radial-gradient(ellipse at 75% 20%,#a72158,transparent 65%),#252c36}
.tj-event-directory .tj-event-date{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:50px;min-height:68px;padding:6px;background:#fffaf0;color:#111;border-radius:10px;font-size:10px;text-transform:uppercase;line-height:1.15;box-shadow:0 2px 10px #0003}
.tj-event-directory .tj-event-date>span:first-child{color:#bd0048;font-weight:800}.tj-event-directory .tj-event-date strong{font-size:26px;line-height:1.15}
.tj-event-directory .tj-event-type{position:absolute;bottom:8px;left:10px;background:#ff70a9;color:#111;border-radius:16px;padding:4px 10px;text-transform:uppercase;font-size:10px;font-weight:800}
.tj-event-directory .tj-event-card-body{padding:12px 14px 16px;position:relative}
.tj-event-directory .tj-event-card-body h3{font:700 17px/1.3 Arial,sans-serif;margin:0 0 9px;color:#fff}
.tj-event-directory .tj-event-card-body h3>button{border:0;padding:0;min-height:44px;background:transparent;color:#fff;font:inherit;text-align:left;display:block;width:100%}
.tj-event-directory .tj-event-card-body p{color:#d0d7dd;font-size:12px;line-height:1.45;margin:5px 0;white-space:normal;overflow-wrap:anywhere}
.tj-event-directory .tj-event-price{display:inline-block;margin-top:10px;background:var(--events-pink);color:#111;font-size:12px;font-weight:700;padding:3px 8px;border-radius:5px}
.tj-event-directory .tj-event-price[data-free=true]{background:#97dda4}
.tj-event-directory .tj-event-cards-list{display:grid;gap:14px}
.tj-event-directory .tj-event-cards-list>.tj-calendar-event{display:grid;grid-template-columns:minmax(160px,28%) minmax(0,1fr)}
.tj-event-directory .tj-event-cards-list .tj-event-card-media{height:100%;aspect-ratio:auto;min-height:160px}
.tj-event-directory .tj-event-cards-calendar{display:grid;gap:14px;margin-top:16px}
.tj-event-directory .tj-events-empty{grid-column:1/-1;padding:35px 20px;border:1px dashed #59636b;border-radius:12px;color:#d2d8dd}
.tj-event-directory>div [role=status]{color:#c4ccd2}
.tj-event-directory table th{color:#f8f5ed}.tj-event-directory table caption{color:#fff}
.tj-event-directory :focus-visible{outline:3px solid #ff68a5;outline-offset:3px}
/* The main site's native form palette uses !important declarations. Keep these
   overrides confined to the public Events directory. */
.tj-event-directory .tj-calendar-heading>button,.tj-event-directory .tj-events-search>button{background:#ff1478!important;color:#111!important;border-color:#ff1478!important}
.tj-event-directory .tj-events-filters label input,.tj-event-directory input[type=month]{background:#30383f!important;color:#f8f6ef!important;border-color:#59636c!important;font:400 14px/1.5 Arial,sans-serif!important;border-radius:8px!important}
.tj-event-directory .tj-events-filters label input::placeholder{color:#c2c8ce!important;opacity:1}
.tj-event-directory .tj-events-search input{background:#f6f2e8!important;color:#171c20!important;border:0!important;font:400 16px/1.5 Arial,sans-serif!important}
.tj-event-directory .tj-event-card-body h3>button{text-transform:none!important;letter-spacing:normal!important}
.tj-event-directory .tj-event-card-body h3,.tj-event-directory .tj-event-card-body h3>button{white-space:normal!important;overflow-wrap:anywhere!important;max-width:100%;height:auto!important;line-height:1.3!important}
@media(min-width:1700px){.tj-event-directory .tj-event-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.tj-event-directory .tj-events-layout{grid-template-columns:1fr}.tj-event-directory .tj-events-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.tj-event-directory .tj-events-filters h3{flex-basis:100%;margin-bottom:0}.tj-event-directory .tj-events-filters label{flex:1 1 160px;margin:0}.tj-event-directory .tj-events-filter-note{flex-basis:100%;margin:0}.tj-event-directory .tj-events-viewbar select{margin-left:0}}
@media(max-width:520px){.tj-event-directory{padding:14px;border-radius:0}.tj-event-directory .tj-calendar-heading h2{flex-basis:100%}.tj-event-directory>.tj-calendar-heading>button{font-size:12px;padding:8px}.tj-event-directory .tj-events-search button{min-width:80px}.tj-event-directory [data-calendar-toolbar]>label{flex-wrap:wrap;max-width:100%}.tj-event-directory [data-calendar-toolbar] select{max-width:100%}.tj-event-directory .tj-event-cards-list>.tj-calendar-event{grid-template-columns:1fr}.tj-event-directory .tj-event-cards-list .tj-event-card-media{aspect-ratio:2.25;min-height:0}.tj-event-directory .tj-events-viewbar p{margin-left:0;flex-basis:100%}}
