/* Events calendar and event presence only; no Market Hub selectors. */
/* Archive-only illustration: the title remains live text and images are decorative. */
/* The banner follows its text, not the source image's intrinsic aspect ratio. */
.ttcr-events-archive-header.ttcr-events-illustrated-header{position:relative;isolation:isolate;display:flex;align-items:center;min-height:160px;margin-bottom:20px;overflow:hidden;border-radius:7px;background:#fff;border:1px solid #e5e8eb;box-sizing:border-box}
.ttcr-events-header-art{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#fff}
.ttcr-events-header-art img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover;object-position:center right}
.ttcr-events-header-art img[hidden]{display:none!important}
.ttcr-events-header-copy{box-sizing:border-box;width:48%;padding:20px;min-width:0;overflow-wrap:anywhere;background:linear-gradient(90deg,#fff 82%,#fff0)}
.ttcr-events-archive-header .ttcr-events-header-copy h1{font-size:28px;line-height:1.12;margin:0 0 8px}
.ttcr-events-archive-header .ttcr-events-header-copy p{font-size:14px;line-height:1.45;margin:0}
@media(max-width:600px){.ttcr-events-archive-header.ttcr-events-illustrated-header{flex-direction:column;align-items:stretch;min-height:0}.ttcr-events-header-copy{order:0;width:100%;padding:16px 18px 10px;background:#fff}.ttcr-events-header-art{position:relative;inset:auto;order:1;height:80px;width:100%;z-index:0}.ttcr-events-archive-header .ttcr-events-header-copy h1{font-size:25px}.ttcr-events-archive-header .ttcr-events-header-copy p{font-size:14px}}
.ttcr-events-archive-inner{container-type:inline-size;container-name:ttcr-events-archive}
@container ttcr-events-archive (max-width:560px){.ttcr-events-archive-header.ttcr-events-illustrated-header{flex-direction:column;align-items:stretch;min-height:0}.ttcr-events-header-copy{order:0;width:100%;padding:16px 18px 10px;background:#fff}.ttcr-events-header-art{position:relative;inset:auto;order:1;height:80px;width:100%;z-index:0}.ttcr-events-archive-header .ttcr-events-header-copy h1{font-size:25px}.ttcr-events-archive-header .ttcr-events-header-copy p{font-size:14px}}
.ttcr-events-archive-inner{padding:28px;min-width:0}.ttcr-events-archive-header{margin:0 0 28px}.ttcr-events-archive-header h1{margin:0 0 8px;font-size:clamp(28px,3vw,40px);line-height:1.2;color:#142a3e}.ttcr-events-archive-header p{color:#526271;margin:0}
.ttcr-events-calendar{--ec-ink:#172d41;--ec-muted:#526271;--ec-line:#d9e1e8;--ec-gold:#916410;color:var(--ec-ink);font-size:15px;line-height:1.5;font-family:inherit;container-type:inline-size;overflow-wrap:anywhere;min-width:0}
.ttcr-events-calendar *{box-sizing:border-box}.ttcr-events-calendar a{color:#234e72;text-decoration:underline;text-underline-offset:3px}.ttcr-events-calendar :is(a,button,input,select):focus-visible{outline:3px solid #b5811b;outline-offset:3px}
.ttcr-ec-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:18px;background:#f3f6f8;border:1px solid var(--ec-line);border-radius:8px;margin-bottom:28px}.ttcr-ec-filters label{display:flex;flex:1 1 160px;flex-direction:column;gap:5px;min-width:0}.ttcr-ec-filters label>span{font-size:12px;font-weight:700;color:var(--ec-muted)}.ttcr-ec-filters :is(input,select){width:100%;max-width:100%;min-width:0;background:#fff;color:var(--ec-ink);border:1px solid #9aaab8;border-radius:4px;padding:9px;font:inherit;min-height:44px}.ttcr-ec-filters button{background:var(--ec-ink);color:#fff;border:1px solid var(--ec-ink);border-radius:4px;min-height:44px;padding:9px 16px;font:inherit;font-weight:700;cursor:pointer}.ttcr-ec-filters>a{padding:10px 0}
.ttcr-ec-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ttcr-ec-heading h2{margin:2px 0 0!important;font-size:clamp(24px,3vw,32px);line-height:1.2;color:var(--ec-ink)}.ttcr-ec-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--ec-gold)}.ttcr-ec-help{font-size:12px;color:var(--ec-muted);margin:12px 0 16px}.ttcr-ec-month-nav{display:flex;gap:6px}.ttcr-ec-month-nav a,.ttcr-ec-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;background:#fff;border:1px solid var(--ec-line);border-radius:4px;text-decoration:none}.ttcr-ec-month-nav a:hover,.ttcr-ec-pagination a:hover{background:#eef3f7}
.ttcr-events-calendar .ttcr-ec-grid{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;border:1px solid var(--ec-line);background:#fff}.ttcr-ec-grid th{text-align:center;padding:10px 2px!important;background:#edf2f6;color:var(--ec-muted);font-size:11px;font-weight:700}.ttcr-ec-grid abbr{border:0;text-decoration:none}.ttcr-ec-grid td{border:1px solid var(--ec-line);height:116px;vertical-align:top;padding:7px!important;color:var(--ec-ink);text-align:left}.ttcr-ec-grid td.is-outside{background:#f7f9fb;color:#687987}.ttcr-ec-grid time{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:13px;font-weight:700}.ttcr-ec-grid .is-today time{background:var(--ec-ink);color:#fff;border-radius:50%}.ttcr-ec-grid ul.ttcr-ec-day-events{margin:4px 0 0;padding:0;list-style:none}.ttcr-ec-day-events li{margin:0 0 5px;padding:0;line-height:1.3}.ttcr-ec-day-events a{display:block;text-decoration:none;background:#edf3f8;border-left:3px solid #517c9e;border-radius:2px;padding:4px;font-size:11px;overflow-wrap:anywhere}.ttcr-ec-day-events a.is-major{background:#fbf3dd;border-left-color:#a97918;color:#704c08}.ttcr-ec-grid a.ttcr-ec-day-count{display:none}.ttcr-ec-more{font-size:11px}
.ttcr-ec-agenda{margin:24px 0}.ttcr-ec-agenda>h2{font-size:19px;margin:0 0 8px}.ttcr-events-calendar ul.ttcr-ec-event-list{list-style:none;padding:0;margin:0}.ttcr-events-calendar li.ttcr-ec-event{display:flex;align-items:flex-start;gap:18px;padding:20px 0;margin:0;border-bottom:1px solid var(--ec-line);scroll-margin-top:90px}.ttcr-ec-date{flex:0 0 60px;text-align:center;background:#f0f4f7;border-radius:5px;padding:8px 4px;color:var(--ec-muted)}.ttcr-ec-date span{display:block;text-transform:uppercase;font-size:11px;font-weight:700}.ttcr-ec-date strong{display:block;font-size:27px;line-height:1.2;color:var(--ec-ink)}.ttcr-ec-date small{font-size:11px}.ttcr-ec-event-body{min-width:0}.ttcr-ec-event-body h3{margin:5px 0!important;font-size:18px;line-height:1.3}.ttcr-ec-event-body h3 a{text-decoration:none}.ttcr-ec-event-body h3 a:hover{text-decoration:underline}.ttcr-ec-event-body p{font-size:13px;margin:4px 0;color:var(--ec-muted)}.ttcr-ec-meta{display:flex;gap:6px 10px;flex-wrap:wrap;font-size:11px;font-weight:700;align-items:center;color:var(--ec-muted)}.ttcr-ec-major{background:#fbf3dd;color:#704c08;padding:2px 7px;border-radius:3px}.ttcr-ec-status{color:#942c27;background:#fbedeb;padding:2px 7px;border-radius:3px}
.ttcr-ec-history{border-top:3px solid var(--ec-ink);margin-top:36px;padding-top:24px;scroll-margin-top:90px}.ttcr-ec-heading>span{font-size:13px;color:var(--ec-muted)}.ttcr-ec-empty,.ttcr-ec-notice{padding:18px;border:1px solid var(--ec-line);background:#f7f9fb;color:var(--ec-muted);border-radius:4px}.ttcr-ec-pagination{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px;font-size:13px}.ttcr-ec-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@container (max-width:640px){.ttcr-ec-grid td{height:68px;padding:4px!important}.ttcr-ec-grid .ttcr-ec-day-events,.ttcr-ec-grid .ttcr-ec-more{display:none!important}.ttcr-ec-grid a.ttcr-ec-day-count{display:block;font-size:10px;line-height:1.3;margin-top:3px}.ttcr-ec-filters{padding:12px}.ttcr-ec-filters label{flex-basis:100%}.ttcr-ec-heading h2{font-size:25px}.ttcr-ec-event-body h3{font-size:16px}.ttcr-events-calendar li.ttcr-ec-event{gap:12px}.ttcr-ec-date{flex-basis:49px}.ttcr-ec-month-nav a{padding:8px}.ttcr-ec-event-body p{font-size:12px}}
@media(max-width:680px){.ttcr-events-archive-inner{padding:16px!important}.ttcr-ec-grid td{height:68px;padding:4px!important}.ttcr-ec-grid .ttcr-ec-day-events,.ttcr-ec-grid .ttcr-ec-more{display:none!important}.ttcr-ec-grid a.ttcr-ec-day-count{display:block;font-size:10px;line-height:1.3;margin-top:3px}}
/* Curated features stay compact above the chronological calendar. */
.ttcr-events-calendar .ttcr-ec-features{margin:0 0 28px}.ttcr-events-calendar .ttcr-ec-features>h2,.ttcr-events-calendar .ttcr-ec-upcoming>h2{font-size:24px;line-height:1.25;margin:0 0 14px;color:var(--ec-ink)}
.ttcr-events-calendar .ttcr-ec-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ttcr-events-calendar .ttcr-ec-feature{display:flex;gap:16px;align-items:flex-start;background:#f1f6f9;border:1px solid var(--ec-line);border-top:3px solid #9e7828;border-radius:6px;padding:18px;min-width:0}.ttcr-events-calendar .ttcr-ec-feature:first-child{grid-column:1/-1}
.ttcr-events-calendar .ttcr-ec-feature-image{flex:0 0 88px;width:88px;height:66px;overflow:hidden;border-radius:4px}.ttcr-events-calendar .ttcr-ec-feature-image img{display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:cover;margin:0!important}.ttcr-events-calendar .ttcr-ec-feature-body{flex:1;min-width:0}.ttcr-events-calendar .ttcr-ec-feature h3{font-size:19px;line-height:1.3;margin:4px 0 8px!important}.ttcr-events-calendar .ttcr-ec-feature p{font-size:13px;line-height:1.5;margin:4px 0;color:var(--ec-muted)}.ttcr-events-calendar .ttcr-ec-feature .ttcr-ec-eyebrow{font-size:11px;letter-spacing:.06em;color:#75530c}.ttcr-events-calendar .ttcr-ec-feature h3 a{text-decoration:none}.ttcr-events-calendar .ttcr-ec-feature h3 a:hover{text-decoration:underline}
.ttcr-events-calendar .ttcr-ec-presence{font-weight:700;color:#725418}
.ttcr-event-presence{padding:20px;margin:0 0 24px;background:#f1f6f9;border:1px solid #d9e1e8;border-top:3px solid #9e7828;border-radius:6px;color:#172d41;overflow-wrap:anywhere}.ttcr-event-presence h2{font-size:23px;line-height:1.3;margin:0 0 12px}.ttcr-event-presence p{margin:8px 0}.ttcr-event-presence .ttcr-ec-meeting{display:inline-block;min-height:44px;padding:10px 16px;background:#172d41;color:#fff;text-decoration:none;border-radius:4px}.ttcr-event-presence a:focus-visible{outline:3px solid #b5811b;outline-offset:3px}
@container(max-width:640px){.ttcr-events-calendar .ttcr-ec-feature-grid{grid-template-columns:minmax(0,1fr)}.ttcr-events-calendar .ttcr-ec-feature{padding:14px;gap:12px}.ttcr-events-calendar .ttcr-ec-feature-image{flex-basis:64px;width:64px;height:48px}.ttcr-events-calendar .ttcr-ec-feature h3{font-size:17px}}
@media(max-width:680px){.ttcr-events-calendar .ttcr-ec-feature-grid{grid-template-columns:minmax(0,1fr)}.ttcr-events-calendar .ttcr-ec-feature{padding:14px;gap:12px}.ttcr-events-calendar .ttcr-ec-feature-image{flex-basis:64px;width:64px;height:48px}.ttcr-events-calendar .ttcr-ec-feature h3{font-size:17px}}

/* Upcoming shows give the next dates a compact row beneath Featured. */
.ttcr-events-calendar .ttcr-ec-showcase{margin:0 0 28px;min-width:0}
.ttcr-events-calendar .ttcr-ec-showcase-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px}
.ttcr-events-calendar .ttcr-ec-showcase-heading h2{margin:0!important;font-size:22px;line-height:1.3;color:var(--ec-ink)}
.ttcr-events-calendar .ttcr-ec-showcase-heading>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:700}
.ttcr-events-calendar ul.ttcr-ec-show-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.ttcr-events-calendar li.ttcr-ec-show-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding:16px;background:#fdfbf5;border:1px solid var(--ec-line);border-top:3px solid #b18a3c;border-radius:6px;overflow-wrap:anywhere}
.ttcr-events-calendar .ttcr-ec-show-card p{max-width:100%;margin:0 0 7px;font-size:13px;line-height:1.45;color:var(--ec-muted)}
.ttcr-events-calendar .ttcr-ec-show-card p.ttcr-ec-show-card-date{color:#75530c;font-size:12px;font-weight:700;line-height:1.5;margin-bottom:9px}
.ttcr-events-calendar .ttcr-ec-show-card h3{max-width:100%;margin:0 0 9px!important;font-size:18px;line-height:1.35;color:var(--ec-ink)}
.ttcr-events-calendar .ttcr-ec-show-card h3 a{color:var(--ec-ink);text-decoration:none}
.ttcr-events-calendar .ttcr-ec-show-card h3 a:hover{text-decoration:underline}
.ttcr-events-calendar .ttcr-ec-show-card p.ttcr-ec-show-card-sector{font-size:11px;font-weight:700}
.ttcr-events-calendar .ttcr-ec-show-card a.ttcr-ec-show-card-link{display:inline-flex;align-items:center;max-width:100%;min-height:44px;margin-top:auto;padding-top:8px;font-size:12px;font-weight:700}
@container(max-width:640px){.ttcr-events-calendar ul.ttcr-ec-show-cards{grid-template-columns:minmax(0,1fr);gap:9px}.ttcr-events-calendar li.ttcr-ec-show-card{display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:14px;align-items:start;padding:13px 14px}.ttcr-events-calendar .ttcr-ec-show-card p.ttcr-ec-show-card-date{grid-column:1;grid-row:1/span 4;margin:0;padding-right:10px;border-right:1px solid var(--ec-line)}.ttcr-events-calendar .ttcr-ec-show-card h3,.ttcr-events-calendar .ttcr-ec-show-card-location,.ttcr-events-calendar .ttcr-ec-show-card-sector,.ttcr-events-calendar .ttcr-ec-show-card-link,.ttcr-events-calendar .ttcr-ec-show-card .ttcr-ec-calendar-actions{grid-column:2}.ttcr-events-calendar .ttcr-ec-show-card h3{font-size:17px;margin-bottom:5px!important}.ttcr-events-calendar .ttcr-ec-show-card p{margin-bottom:4px}.ttcr-events-calendar .ttcr-ec-show-card a.ttcr-ec-show-card-link{padding-top:0;margin-top:0}}
@media(max-width:680px){.ttcr-events-calendar ul.ttcr-ec-show-cards{grid-template-columns:minmax(0,1fr);gap:9px}.ttcr-events-calendar li.ttcr-ec-show-card{display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:14px;align-items:start;padding:13px 14px}.ttcr-events-calendar .ttcr-ec-show-card p.ttcr-ec-show-card-date{grid-column:1;grid-row:1/span 4;margin:0;padding-right:10px;border-right:1px solid var(--ec-line)}.ttcr-events-calendar .ttcr-ec-show-card h3,.ttcr-events-calendar .ttcr-ec-show-card-location,.ttcr-events-calendar .ttcr-ec-show-card-sector,.ttcr-events-calendar .ttcr-ec-show-card-link,.ttcr-events-calendar .ttcr-ec-show-card .ttcr-ec-calendar-actions{grid-column:2}.ttcr-events-calendar .ttcr-ec-show-card h3{font-size:17px;margin-bottom:5px!important}.ttcr-events-calendar .ttcr-ec-show-card p{margin-bottom:4px}.ttcr-events-calendar .ttcr-ec-show-card a.ttcr-ec-show-card-link{padding-top:0;margin-top:0}}
@container(max-width:360px){.ttcr-events-calendar li.ttcr-ec-show-card{display:flex;gap:0}.ttcr-events-calendar .ttcr-ec-show-card p.ttcr-ec-show-card-date{border-right:0;padding-right:0;margin-bottom:6px}}
@media(max-width:380px){.ttcr-events-calendar li.ttcr-ec-show-card{display:flex;gap:0}.ttcr-events-calendar .ttcr-ec-show-card p.ttcr-ec-show-card-date{border-right:0;padding-right:0;margin-bottom:6px}}

/* Main events keep their sessions in an accessible, initially closed disclosure. */
.ttcr-events-calendar .ttcr-ec-event-body{flex:1;min-width:0}
.ttcr-events-calendar details.ttcr-ec-sessions{margin-top:14px;border:1px solid var(--ec-line);border-radius:6px;background:#f6f9fb;min-width:0}
.ttcr-events-calendar .ttcr-ec-sessions>summary{cursor:pointer;padding:12px 14px;min-height:44px;font-size:14px;font-weight:700;color:#234e72;list-style:disclosure-closed}
.ttcr-events-calendar .ttcr-ec-sessions[open]>summary{list-style:disclosure-open;border-bottom:1px solid var(--ec-line)}
.ttcr-events-calendar .ttcr-ec-sessions>summary:focus-visible{outline:3px solid #b5811b;outline-offset:2px}
.ttcr-events-calendar .ttcr-ec-sessions .ttcr-ec-session-help{margin:12px 14px;font-size:12px}
.ttcr-events-calendar .ttcr-ec-sessions>ul.ttcr-ec-event-list{margin:0 14px}
.ttcr-events-calendar .ttcr-ec-sessions li.ttcr-ec-event{gap:12px;padding:14px 0}
.ttcr-events-calendar .ttcr-ec-sessions li.ttcr-ec-event:last-child{border-bottom:0}
.ttcr-events-calendar .ttcr-ec-sessions h3{font-size:16px}
.ttcr-events-calendar .ttcr-ec-sessions .ttcr-ec-date{flex-basis:42px;padding:5px 2px}
.ttcr-events-calendar .ttcr-ec-sessions .ttcr-ec-date strong{font-size:21px}
@container(max-width:440px){.ttcr-events-calendar .ttcr-ec-sessions .ttcr-ec-date{display:none}.ttcr-events-calendar .ttcr-ec-sessions>summary{padding:12px 10px}.ttcr-events-calendar .ttcr-ec-sessions>ul.ttcr-ec-event-list{margin:0 10px}}

/* Event kinds are consistent across the grid, legend and agenda; text carries the meaning. */
.ttcr-events-calendar .ttcr-ec-kind-shows{--ec-kind:#285779;--ec-tint:#edf5fb}
.ttcr-events-calendar .ttcr-ec-kind-learning{--ec-kind:#665182;--ec-tint:#f5f0fa}
.ttcr-events-calendar .ttcr-ec-kind-comments{--ec-kind:#805716;--ec-tint:#fff6e6}
.ttcr-events-calendar .ttcr-ec-kind-rules{--ec-kind:#8d4041;--ec-tint:#fcf0f0}
.ttcr-events-calendar .ttcr-ec-kind-safety{--ec-kind:#3a6958;--ec-tint:#eef7f1}
.ttcr-events-calendar .ttcr-ec-kind-reports{--ec-kind:#246d77;--ec-tint:#edf8fa}
.ttcr-events-calendar .ttcr-ec-kind-industry{--ec-kind:#635f30;--ec-tint:#f6f5eb}
.ttcr-events-calendar .ttcr-ec-kind-other,.ttcr-events-calendar .ttcr-ec-kind-mixed{--ec-kind:#526271;--ec-tint:#f0f4f7}
.ttcr-events-calendar .ttcr-ec-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 18px!important;padding:0!important;list-style:none;font-size:12px;color:var(--ec-ink)}
.ttcr-events-calendar .ttcr-ec-legend li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0}
.ttcr-events-calendar .ttcr-ec-swatch{display:inline-block;flex:0 0 10px;width:10px;height:10px;background:var(--ec-kind);border-radius:2px}
.ttcr-events-calendar .ttcr-ec-day-events a{color:var(--ec-kind,#234e72);background:var(--ec-tint,#edf3f8);border-left-color:var(--ec-kind,#517c9e)}
.ttcr-events-calendar .ttcr-ec-day-events a.is-major{font-weight:700;box-shadow:inset 0 0 0 1px #a97918}
.ttcr-events-calendar .ttcr-ec-type{color:var(--ec-kind,#526271);background:var(--ec-tint,#f0f4f7);border-left:3px solid var(--ec-kind,#526271);padding:3px 7px;border-radius:3px}
.ttcr-events-calendar .ttcr-ec-date{border-top:3px solid var(--ec-kind,#526271);background:var(--ec-tint,#f0f4f7)}
.ttcr-events-calendar .ttcr-ec-day-more>summary{cursor:pointer;min-height:28px;padding:5px 0;font-size:11px;color:#234e72;text-decoration:underline;text-underline-offset:3px;list-style:disclosure-closed}
.ttcr-events-calendar .ttcr-ec-day-more[open]>summary{list-style:disclosure-open}
.ttcr-events-calendar .ttcr-ec-more-open,.ttcr-events-calendar .ttcr-ec-day-more[open] .ttcr-ec-more-closed{display:none}
.ttcr-events-calendar .ttcr-ec-day-more[open] .ttcr-ec-more-open{display:inline}
.ttcr-events-calendar .ttcr-ec-agenda-group{margin:10px 0;border:1px solid var(--ec-line);border-left:4px solid var(--ec-kind,#526271);border-radius:6px;background:#fff;min-width:0}
.ttcr-events-calendar .ttcr-ec-agenda-group>summary{padding:15px;min-height:48px;cursor:pointer;background:var(--ec-tint,#f0f4f7);color:var(--ec-ink);font-size:16px;font-weight:700;line-height:1.5;list-style:disclosure-closed}
.ttcr-events-calendar .ttcr-ec-agenda-group[open]>summary{list-style:disclosure-open;border-bottom:1px solid var(--ec-line)}
.ttcr-events-calendar .ttcr-ec-group-count{display:inline-block;margin-left:10px;font-size:12px;font-weight:400;white-space:nowrap}
.ttcr-events-calendar .ttcr-ec-agenda-group>ul.ttcr-ec-event-list{padding:0 16px}
.ttcr-events-calendar .ttcr-ec-agenda-group>ul>li:last-child{border-bottom:0}
.ttcr-events-calendar .ttcr-ec-group-actions{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}
.ttcr-events-calendar .ttcr-ec-group-actions[hidden]{display:none}
.ttcr-events-calendar .ttcr-ec-group-actions button,.ttcr-events-calendar .ttcr-ec-day-close{font:inherit;font-size:12px;padding:8px 12px;min-height:44px;border:1px solid #9aaab8;border-radius:4px;background:#fff;color:#234e72;cursor:pointer}
.ttcr-events-calendar summary:focus-visible{outline:3px solid #b5811b;outline-offset:2px}
.ttcr-events-calendar .ttcr-ec-day-dialog{width:calc(100% - 32px);max-width:560px;max-height:80vh;max-height:80dvh;padding:20px;border:1px solid #9aaab8;border-radius:8px;background:#fff;color:var(--ec-ink);box-shadow:0 10px 40px #10253544;overflow-y:auto}
.ttcr-events-calendar .ttcr-ec-day-dialog::backdrop{background:#10253599}
.ttcr-events-calendar .ttcr-ec-day-dialog h2{font-size:21px;line-height:1.3;margin:10px 0 16px}
.ttcr-events-calendar .ttcr-ec-day-dialog ul{list-style:none;padding:0;margin:0}
.ttcr-events-calendar .ttcr-ec-day-dialog li{margin:0 0 10px}
.ttcr-events-calendar .ttcr-ec-day-dialog a{display:block;padding:12px;background:var(--ec-tint);border-left:4px solid var(--ec-kind);font-size:15px;font-weight:600;line-height:1.4;color:var(--ec-ink);text-decoration:none}
@container(max-width:640px){.ttcr-events-calendar .ttcr-ec-day-more{display:none}.ttcr-events-calendar .ttcr-ec-agenda-group>summary{padding:12px;font-size:15px}.ttcr-events-calendar .ttcr-ec-agenda-group>ul.ttcr-ec-event-list{padding:0 10px}.ttcr-events-calendar .ttcr-ec-legend{gap:8px 12px;font-size:11px}.ttcr-events-calendar .ttcr-ec-date{flex-basis:42px}.ttcr-events-calendar .ttcr-ec-event{gap:10px}}
@media(max-width:680px){.ttcr-events-calendar .ttcr-ec-day-more{display:none}}

.ttcr-events-calendar .ttcr-ec-grid .ttcr-ec-day-events a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Optional date switches remain native, keyboard-operable GET form controls. */
.ttcr-events-calendar .ttcr-ec-filters{gap:10px 12px;padding:14px}.ttcr-events-calendar .ttcr-ec-filters>label{flex:1 1 140px}
.ttcr-events-calendar .ttcr-ec-optional{flex:0 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;padding:0;border:0;min-width:0;max-width:100%}
.ttcr-events-calendar .ttcr-ec-optional label{position:relative;display:inline-flex;flex-direction:row;flex:0 1 auto;align-items:center;gap:7px;min-height:44px;cursor:pointer;font-size:12px}
.ttcr-events-calendar .ttcr-ec-optional input[type=checkbox]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:32px;height:20px;min-height:20px;margin:0;padding:0;opacity:0;cursor:pointer}
.ttcr-events-calendar .ttcr-ec-switch-track{position:relative;display:inline-block;flex:0 0 32px;width:32px;height:20px;box-sizing:border-box;border:1px solid #647887;border-radius:20px;background:#d9e2e8;pointer-events:none}
.ttcr-events-calendar .ttcr-ec-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0004}
.ttcr-events-calendar .ttcr-ec-optional input:checked+.ttcr-ec-switch-track{background:#285779;border-color:#285779}
.ttcr-events-calendar .ttcr-ec-optional input:checked+.ttcr-ec-switch-track::after{transform:translateX(12px)}
.ttcr-events-calendar .ttcr-ec-optional input:focus+.ttcr-ec-switch-track{outline:2px solid var(--ec-ink);outline-offset:3px}
@media(forced-colors:active){.ttcr-events-calendar .ttcr-ec-switch-track{forced-color-adjust:none;background:Canvas;border-color:CanvasText}.ttcr-events-calendar .ttcr-ec-switch-track::after{background:CanvasText}.ttcr-events-calendar .ttcr-ec-optional input:checked+.ttcr-ec-switch-track{background:Highlight;border-color:Highlight}.ttcr-events-calendar .ttcr-ec-optional input:checked+.ttcr-ec-switch-track::after{background:HighlightText}}

.ttcr-events-calendar .ttcr-ec-organize{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 16px}
.ttcr-events-calendar .ttcr-ec-organize label{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0;margin:0;color:var(--ec-muted);font-size:13px;font-weight:700}
.ttcr-events-calendar .ttcr-ec-organize select{box-sizing:border-box;min-height:44px;max-width:100%;padding:8px 28px 8px 10px;border:1px solid #9aaab8;border-radius:4px;background:#fff;color:var(--ec-ink);font:inherit}
.ttcr-events-calendar .ttcr-ec-organize button{min-height:44px;padding:8px 12px;border:1px solid #9aaab8;border-radius:4px;background:#fff;color:var(--ec-ink);font:inherit;cursor:pointer}
.ttcr-events-calendar .ttcr-ec-organize button[hidden]{display:none!important}

/* Secondary view links live beside the list they affect. */
.ttcr-events-calendar .ttcr-ec-list-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;min-width:0}
.ttcr-events-calendar .ttcr-ec-list-heading>h2{font-size:19px;line-height:1.3;margin:0!important;color:var(--ec-ink);min-width:0;overflow-wrap:anywhere;scroll-margin-top:90px}
.ttcr-events-calendar .ttcr-ec-upcoming>.ttcr-ec-list-heading>h2{font-size:24px}
.ttcr-events-calendar .ttcr-ec-list-heading>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:4px 0;font-size:13px;line-height:1.4;font-weight:600;color:#234e72;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ttcr-events-calendar .ttcr-ec-list-heading>a:hover{color:var(--ec-ink)}
.ttcr-events-calendar .ttcr-ec-heading h2{scroll-margin-top:90px}

/* Reader calendar actions use native disclosures on cards, rows and event pages. */
.ttcr-ec-calendar-actions{display:block;width:fit-content;max-width:100%;min-width:0;margin:4px 0 0;font-family:inherit;font-size:13px;line-height:1.5;color:#234e72;overflow-wrap:anywhere}
.ttcr-ec-calendar-actions>summary{display:list-item;list-style:disclosure-closed inside;cursor:pointer;min-height:44px;padding:12px 4px;box-sizing:border-box;font-size:13px;font-weight:600;line-height:20px;color:#234e72;text-decoration:underline;text-underline-offset:3px}
.ttcr-ec-calendar-actions[open]>summary{list-style:disclosure-open inside}
.ttcr-ec-calendar-actions .ttcr-ec-calendar-options{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:6px 10px;margin:0 0 8px;background:#f3f6f8;border:1px solid #d9e1e8;border-radius:5px;max-width:100%;min-width:0}
.ttcr-ec-calendar-actions .ttcr-ec-calendar-options a{display:flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;color:#234e72;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.ttcr-ec-calendar-actions :is(summary,a):focus-visible{outline:3px solid #b5811b;outline-offset:3px}
.ttcr-events-calendar .ttcr-ec-help a.ttcr-ec-all-events{display:inline-flex;align-items:center;min-height:44px;margin-left:8px;font-size:13px;font-weight:600}

/* The monthly download shares the title row; navigation keeps its own tap targets. */
.ttcr-events-calendar .ttcr-ec-month-heading{display:block}
.ttcr-events-calendar .ttcr-ec-month-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.ttcr-events-calendar .ttcr-ec-month-title-row h2{min-width:0;overflow-wrap:normal}
.ttcr-events-calendar a.ttcr-ec-calendar-download{display:inline-flex;align-items:center;flex:0 0 auto;min-height:44px;max-width:100%;margin:0;padding:0;font-size:13px;line-height:1.4;font-weight:400;color:#234e72;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.ttcr-events-calendar a.ttcr-ec-calendar-download:hover{color:var(--ec-ink)}
.ttcr-events-calendar .ttcr-ec-month-heading .ttcr-ec-month-nav{margin-top:8px;flex-wrap:wrap}
@container(max-width:440px){.ttcr-events-calendar .ttcr-ec-month-title-row h2{font-size:20px}.ttcr-events-calendar a.ttcr-ec-calendar-download{font-size:12px}}
@media(max-width:480px){.ttcr-events-calendar .ttcr-ec-month-title-row h2{font-size:20px}.ttcr-events-calendar a.ttcr-ec-calendar-download{font-size:12px}}
/* Approved organizer information on published event pages. */
.ttcr-event-approved-details{box-sizing:border-box;max-width:100%;min-width:0;margin:24px 0;padding:20px;background:#f5f8fa;border:1px solid #d9e1e8;border-left:3px solid #b18a3c;border-radius:6px;color:#172d41;overflow-wrap:anywhere}
.ttcr-event-approved-details h2{margin:0 0 14px!important;font-size:24px;line-height:1.3}
.ttcr-event-approved-details h3{margin:20px 0 8px!important;font-size:18px;line-height:1.4}
.ttcr-event-approved-details dl{margin:0;display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:9px 18px}
.ttcr-event-approved-details dt{font-weight:700;margin:0}
.ttcr-event-approved-details dd{min-width:0;margin:0;line-height:1.6}
.ttcr-event-approved-details a{color:#234e72;text-decoration:underline;text-underline-offset:3px}
.ttcr-event-approved-details a:focus-visible{outline:3px solid #b5811b;outline-offset:3px}
.ttcr-event-approved-details p,.ttcr-event-approved-details li{line-height:1.6}
@media(max-width:480px){.ttcr-event-approved-details{padding:15px}.ttcr-event-approved-details dl{grid-template-columns:minmax(0,1fr);gap:4px}.ttcr-event-approved-details dd{margin-bottom:10px}.ttcr-event-approved-details h2{font-size:21px}}
/* Company participation stays within the dated main event. */
.ttcr-ec-company-presence{margin:10px 0 0;border-top:1px solid #dde4ea;padding-top:8px;font-size:14px;line-height:1.5}
.ttcr-ec-company-presence>summary{cursor:pointer;font-weight:600;color:#234e72;padding:4px 0}
.ttcr-ec-company-presence>summary:focus-visible{outline:3px solid #b5811b;outline-offset:3px}
.ttcr-ec-company-presence>ul{list-style:none;margin:6px 0 0!important;padding:0!important;display:grid;gap:6px}
.ttcr-ec-company-presence>ul>li{margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px}
.ttcr-ec-company-presence>ul>li>a{color:#234e72;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.ttcr-ec-company-presence>ul>li>span{font-size:13px;color:#526474}
/* Separate, searchable identity filters; native selects remain the no-script fallback. */
.ttcr-events-calendar .ttcr-ec-identity{position:relative;flex:1 1 170px;min-width:0}.ttcr-events-calendar .ttcr-ec-identity>label{display:block;margin:0 0 5px}.ttcr-events-calendar .ttcr-ec-identity>select{width:100%}.ttcr-events-calendar .ttcr-ec-identity [hidden]{display:none!important}
.ttcr-events-calendar .ttcr-ec-identity .ttcr-ec-select-trigger{display:block;width:100%;padding:9px 30px 9px 10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;color:var(--ec-ink);border:1px solid #9aaab8;font-weight:400}.ttcr-events-calendar .ttcr-ec-select-trigger:after{content:'▾';position:absolute;right:12px;bottom:12px;color:var(--ec-muted);pointer-events:none}.ttcr-events-calendar .ttcr-ec-identity:has(.ttcr-ec-select-clear:not([hidden])) .ttcr-ec-select-trigger{padding-right:74px}
.ttcr-events-calendar .ttcr-ec-identity .ttcr-ec-select-clear{position:absolute;right:25px;bottom:6px;min-height:32px;padding:4px 6px;border:0;background:#fff;color:#234e72;font-size:12px;text-decoration:underline;font-weight:400}
.ttcr-events-calendar .ttcr-ec-select-panel{position:absolute;z-index:30;top:100%;left:0;right:0;min-width:100%;margin-top:4px;padding:8px;background:#fff;border:1px solid #9aaab8;border-radius:5px;box-shadow:0 5px 16px #152f4526}.ttcr-events-calendar .ttcr-ec-select-panel input{margin:0 0 6px;font-size:14px}.ttcr-events-calendar .ttcr-ec-select-options{max-height:240px;overflow-y:auto;overscroll-behavior:contain}.ttcr-events-calendar .ttcr-ec-select-option{padding:10px;min-height:44px;color:var(--ec-ink);font-size:14px;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}.ttcr-events-calendar .ttcr-ec-select-option[aria-selected="true"]{font-weight:700}.ttcr-events-calendar .ttcr-ec-select-option:is(:hover,.is-active){background:#edf3f7;box-shadow:inset 3px 0 #b5811b}.ttcr-events-calendar .ttcr-ec-select-status{padding:8px;margin:0;font-size:13px;color:var(--ec-muted)}
@container(max-width:640px){.ttcr-events-calendar .ttcr-ec-identity{flex-basis:100%}.ttcr-events-calendar .ttcr-ec-select-panel{max-width:100%}.ttcr-events-calendar .ttcr-ec-select-options{max-height:220px}}
@media(max-width:640px){.ttcr-events-calendar .ttcr-ec-identity{flex-basis:100%}.ttcr-events-calendar .ttcr-ec-select-panel{max-width:100%}}
