.tot-calendar{--tot-ink:#262b33;--tot-muted:#666c75;--tot-border:#e5e6e8;--tot-soft:#f6f5f2;--tot-blue:#2874fc;color:var(--tot-ink);max-width:100%;font-family:inherit}.tot-calendar *{box-sizing:border-box}.tot-calendar button{font:inherit;cursor:pointer}.tot-hero{background:#f5f3ef;padding:clamp(22px,4vw,44px);border-radius:10px;margin-bottom:24px}.tot-eyebrow{font-size:12px!important;letter-spacing:.09em;font-weight:700;color:#77716b;margin:0 0 12px!important}.tot-hero h2{font-family:inherit;font-size:clamp(30px,4vw,46px);font-weight:500;line-height:1.15;margin:0 0 12px}.tot-hero>p:last-child{font-size:clamp(16px,2vw,19px);margin:0;line-height:1.6}.tot-controls{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;margin:0 0 20px}.tot-views,.tot-filters{display:flex;gap:6px;flex-wrap:wrap}.tot-views button,.tot-filters button{border:1px solid var(--tot-border);background:#fff;color:var(--tot-ink);border-radius:7px;padding:11px 15px;min-height:44px;font-size:15px}.tot-views button.is-active,.tot-filters button.is-active{background:#26364d;color:white;border-color:#26364d}.tot-filters button{display:flex;align-items:center;gap:7px}.tot-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:#8f949c}.tot-red{background:#ce4045}.tot-gray{background:#8f949c}.tot-nav{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.tot-nav[hidden],.tot-detail[hidden],.tot-more button[hidden]{display:none!important}.tot-nav strong{font-size:21px}.tot-nav button{border:1px solid var(--tot-border);background:#fff;border-radius:7px;width:44px;height:44px;font-size:27px;line-height:1}.tot-status{font-size:13px;color:var(--tot-muted);margin:10px 0 15px}.tot-group{font-size:23px;margin:25px 0 8px;font-weight:600}.tot-event{width:100%;display:flex;align-items:center;gap:17px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--tot-border);padding:16px 0;color:inherit}.tot-event:hover .tot-event-text strong,.tot-event:focus-visible .tot-event-text strong{color:var(--tot-blue)}.tot-date{width:68px;min-width:68px;background:var(--tot-soft);border-radius:9px;padding:12px 7px;display:flex;flex-direction:column;align-items:center;gap:2px}.tot-date b{font-size:27px;line-height:1.1;font-weight:600}.tot-date small{font-size:11px;color:var(--tot-muted)}.tot-event-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.tot-event-text strong{font-size:clamp(16px,2vw,19px);font-weight:600;line-height:1.35}.tot-event-text>span:nth-child(2){font-size:14px;color:var(--tot-muted);overflow-wrap:anywhere}.tot-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--tot-muted)}.tot-arrow{font-size:27px;color:#90949a}.tot-more{text-align:center;padding:20px}.tot-more button,.tot-back{background:#26364d;color:white;border:0;border-radius:7px;padding:13px 22px;min-height:46px}.tot-detail{margin:24px 0;padding:clamp(20px,4vw,36px);border:1px solid var(--tot-border);border-radius:10px;background:#fbfaf8;scroll-margin-top:30px}.tot-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tot-detail-head button{border:0;background:transparent;font-size:23px;padding:7px}.tot-detail h3{font-size:clamp(24px,3vw,34px);line-height:1.25;margin:15px 0 25px}.tot-detail-grid{display:grid;gap:22px;margin-bottom:28px}.tot-detail-grid>div{display:flex;align-items:flex-start;gap:16px}.tot-detail-grid>div>span{font-size:24px;color:#6e7480;width:30px}.tot-detail-grid strong{font-size:16px}.tot-detail-grid p{font-size:16px;line-height:1.6;margin:4px 0 0;color:var(--tot-muted)}.tot-description{white-space:pre-line;overflow-wrap:anywhere}.tot-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.tot-weekday{text-align:center;padding:10px 0;font-size:13px;color:var(--tot-muted)}.tot-day{border:1px solid transparent;background:#fff;border-radius:7px;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:16px}.tot-day.has-event{background:var(--tot-soft)}.tot-day.is-selected{outline:2px solid var(--tot-blue)}.tot-markers{display:flex;gap:3px;min-height:7px}.tot-markers i{width:7px;height:7px;border-radius:50%;display:block}.tot-day-events{margin-top:20px}.tot-day-events h3{font-size:21px}.tot-empty{padding:22px 0;color:var(--tot-muted)}@media(max-width:600px){.tot-hero{padding:25px 21px}.tot-views{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.tot-views button{padding:10px 5px;font-size:13px}.tot-filters button{font-size:13px;padding:10px}.tot-date{width:58px;min-width:58px}.tot-event{gap:12px}.tot-day{min-height:47px;font-size:14px}.tot-grid{gap:2px}.tot-markers i{width:6px;height:6px}}@media(prefers-reduced-motion:reduce){.tot-calendar *{scroll-behavior:auto!important}}

/* v1.0.1: ONA content width, centered; hero permanently removed. */
.tot-calendar{width:100%;max-width:960px!important;margin-inline:auto!important;padding-inline:0!important;}
.tot-calendar .tot-hero{display:none!important;}
@media(max-width:600px){.tot-calendar{max-width:100%!important;}}

/* v1.0.4 – accessible modal event details */
body.tot-modal-open{overflow:hidden}
.tot-calendar .tot-detail:not([hidden]){display:block;position:fixed;inset:0;z-index:999999;margin:0;padding:0;border:0;border-radius:0;background:transparent;max-width:none;width:auto;scroll-margin:0}
.tot-calendar .tot-modal-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,22,33,.66);padding:20px}
.tot-calendar .tot-modal-panel{background:#fff;color:var(--tot-ink);width:min(100%,620px);max-height:min(88dvh,850px);overflow-y:auto;overscroll-behavior:contain;border-radius:13px;padding:clamp(22px,4vw,36px);box-shadow:0 24px 75px rgba(0,0,0,.25)}
.tot-calendar .tot-modal-panel:focus{outline:none}
.tot-calendar .tot-detail-head button{min-width:44px;min-height:44px;border-radius:8px;color:var(--tot-ink)}
.tot-calendar .tot-detail-head button:focus-visible,.tot-calendar .tot-back:focus-visible{outline:3px solid var(--tot-blue);outline-offset:2px}
.tot-calendar .tot-modal-panel h3{overflow-wrap:anywhere}
@media(max-width:600px){.tot-calendar .tot-modal-backdrop{padding:12px;align-items:center}.tot-calendar .tot-modal-panel{max-height:calc(100dvh - 24px);padding:24px 20px}.tot-calendar .tot-detail-grid{gap:18px}}

/* v1.0.5: ONA responsive navigation and compact centered list */
.tot-calendar .tot-results:has(.tot-event),.tot-calendar .tot-status,.tot-calendar .tot-more{max-width:840px;margin-left:auto;margin-right:auto}
.tot-calendar .tot-controls{align-items:center;gap:14px 24px}
.tot-calendar .tot-views button,.tot-calendar .tot-filters button{min-height:44px}
@media(max-width:700px){
 .tot-calendar .tot-controls{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}
 .tot-calendar .tot-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}
 .tot-calendar .tot-views button{min-width:0;padding:10px 4px;font-size:clamp(12px,3.3vw,15px);line-height:1.25;min-height:48px}
 .tot-calendar .tot-filters{display:flex;flex-wrap:wrap;gap:7px}
 .tot-calendar .tot-filters button{border-radius:999px;padding:9px 12px;font-size:clamp(12px,3.2vw,15px);min-height:42px}
 .tot-calendar .tot-results,.tot-calendar .tot-status,.tot-calendar .tot-more{max-width:100%}
}

/* Version 1.0.6: Historie und klare Statuskennzeichnung */
.tot-event-past{opacity:.76}.tot-past-badge{display:inline-flex;align-self:flex-start;background:#e6e5e2;color:#4b515a;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.tot-views{max-width:100%}@media(max-width:600px){.tot-views{grid-template-columns:repeat(2,minmax(0,1fr))}.tot-views button{min-height:44px}}
