.cal-section{max-width:1100px;margin:0 auto;padding:40px 24px 80px}.breadcrumb{display:flex;align-items:center;gap:8px;list-style:none;font-size:.88rem;color:var(--gray)}.breadcrumb a{color:var(--primary)}.breadcrumb a:hover{text-decoration:underline}.cal-loading{color:var(--gray);padding:32px 0;text-align:center}#cal-root{min-height:max(78vmin,480px);transition:opacity .2s ease}.ui-arrow-prev,.ui-arrow-next{position:absolute;top:0;height:100%;width:8vmin;background:transparent;border:none;cursor:pointer;z-index:400;pointer-events:none}.ui-arrow-prev{left:-21vmin}.ui-arrow-next{right:-21vmin}.ui-calendar:focus .ui-arrow-prev,.ui-calendar:focus .ui-arrow-next,.ui-calendar.is-expanded .ui-arrow-prev,.ui-calendar.is-expanded .ui-arrow-next{pointer-events:auto}.cal-nav{display:flex;align-items:center;gap:16px;margin-bottom:12px}.cal-month-title{font-size:1.4rem;font-weight:700;color:var(--text);margin:0;min-width:180px;text-align:center}.cal-nav-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#0066cc14;border:none;color:var(--primary);font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s,transform .15s;flex-shrink:0}.cal-nav-btn:hover{background:var(--primary);color:#fff;transform:scale(1.08)}.cal-widget-wrap{position:relative;margin-bottom:48px}.cal-daynames{display:grid;grid-template-columns:repeat(7,9vmin);margin-left:9vmin;height:7vmin;align-items:center}.cal-dayname{display:flex;align-items:center;justify-content:center;font-size:2.2vmin;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.06em}.ui-calendar{position:relative;height:63vmin;width:81vmin;pointer-events:none;outline:none;box-sizing:border-box}.ui-calendar .ui-header{pointer-events:auto}.ui-calendar:focus,.ui-calendar.is-expanded{pointer-events:auto}.ui-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--white, #fff);transform-origin:top center;transform:scaleY(.142857);box-shadow:0 4px 28px #0000001a;border-radius:10px;border:1px solid var(--glass-border, rgba(0,0,0,.08));overflow:hidden;transition:transform .6s cubic-bezier(.5,0,.5,1),box-shadow .6s;transition-delay:.48s}.ui-calendar:focus>.ui-bg,.ui-calendar.is-expanded>.ui-bg{transform:none;border-radius:10px;box-shadow:0 8px 40px #00000024;transition-delay:0s}.ui-header{cursor:pointer;position:absolute;top:0;left:0;transform:translate(3vmin);width:100%;height:9vmin;line-height:9vmin;text-transform:uppercase;transition:transform 1.2s cubic-bezier(.5,0,.5,1)}.ui-header>.ui-text{position:absolute;height:100%;display:flex;justify-content:center;align-items:center;letter-spacing:.06em;transition:transform 1.2s cubic-bezier(.5,0,.5,1),opacity 1.2s cubic-bezier(.5,0,.5,1)}.ui-header>.ui-text.-month-year{opacity:0;position:relative}.ui-header>.ui-text.-empty{opacity:1}.ui-calendar:focus>.ui-header,.ui-calendar.is-expanded>.ui-header{transform:translate(50%)}.ui-calendar:focus>.ui-header>.ui-text,.ui-calendar.is-expanded>.ui-header>.ui-text{transform:translate(-50%)}.ui-calendar:focus>.ui-header>.ui-text.-empty,.ui-calendar.is-expanded>.ui-header>.ui-text.-empty{opacity:0}.ui-calendar:focus>.ui-header>.ui-text.-month-year,.ui-calendar.is-expanded>.ui-header>.ui-text.-month-year{opacity:1}.ui-text.-month-year{position:relative;white-space:nowrap;font-size:3vmin;font-family:Inter,sans-serif;font-weight:600;color:var(--text)}.ui-text.-empty{white-space:nowrap;font-size:3vmin;font-family:Inter,sans-serif;font-weight:600;color:var(--text)}.ui-text.-month-year:before,.ui-text.-month-year:after{position:absolute;content:"";top:3vmin;height:3vmin;width:3vmin;border:2px solid var(--primary, #0066cc);border-right:none;border-bottom:none;transition:transform .8s cubic-bezier(.5,0,.5,1),opacity .8s cubic-bezier(.5,0,.5,1)}.ui-text.-month-year:before{left:-18vmin;transform:scale(2,0) translate(500%) rotate(-45deg);transition-delay:.4s}.ui-text.-month-year:after{right:-18vmin;transform:scale(2,0) translate(-500%) rotate(135deg);transition-delay:.8s}.ui-calendar:focus .ui-text.-month-year:before,.ui-calendar.is-expanded .ui-text.-month-year:before{transform:scale(1) translate(0) rotate(-45deg)}.ui-calendar:focus .ui-text.-month-year:after,.ui-calendar.is-expanded .ui-text.-month-year:after{transform:scale(1) translate(0) rotate(135deg)}.ui-grid{position:absolute;inset:9vmin;z-index:100;pointer-events:none}.ui-row,.ui-column{position:absolute;border:solid 0px;border-color:#0000001f;transform-origin:top right;transition:transform .6s cubic-bezier(.5,0,.55,1),border-color .6s}.ui-row{left:0;right:0;border-top-width:1px}.ui-column{top:0;bottom:0;border-left-width:1px}.ui-row{transform:translate(6.75vmin,calc(-7.3125vmin + (var(--row) - 1) * 6.75vmin / var(--rows))) scaleX(.0975);transition-delay:calc(var(--row) * 60ms)}.ui-column{transform:translate(calc(-8.4375vmin + var(--columns) * 9vmin + (var(--col) - 1) * 6.75vmin / var(--columns)),-7.3125vmin) scaleY(.1275);transition-delay:calc((var(--columns) - var(--col)) * 60ms)}.ui-calendar:focus .ui-row,.ui-calendar:focus .ui-column,.ui-calendar.is-expanded .ui-row,.ui-calendar.is-expanded .ui-column{border-color:#0066cc2e}.ui-calendar:focus .ui-row,.ui-calendar.is-expanded .ui-row{transform:translateY(calc((var(--row) - 1) * 9vmin)) scaleX(1);transition-delay:calc(var(--row) * 40ms)}.ui-calendar:focus .ui-column,.ui-calendar.is-expanded .ui-column{transform:translate(calc((var(--col) - 1) * 9vmin)) scaleY(1);transition-delay:calc((var(--columns) - var(--col)) * 40ms)}.ui-day{display:flex;flex-direction:column;position:absolute;height:9vmin;width:9vmin;justify-content:center;align-items:center;transform:translate(var(--x, 0),var(--y, 0));cursor:pointer;z-index:10;border-radius:6px;transition:background .2s}.ui-day:hover{background:#0066cc0f}.ui-day.selected{background:#0066cc1f}.day-num{font-size:2.6vmin;font-weight:600;font-family:Inter,sans-serif;color:var(--text);line-height:1;transform:scale(0);opacity:0;transition:transform calc(1.2s / 3) cubic-bezier(.5,0,.5,1),opacity calc(1.2s / 3) cubic-bezier(.5,0,.5,1);transition-delay:calc(0s + (30 - var(--day, 15)) * 20ms)}.ui-calendar:focus .day-num,.ui-calendar.is-expanded .day-num{transform:none;opacity:1;transition-delay:calc(.6s + var(--day, 1) * 20ms)}.ui-day.is-today .day-num,.ui-day.selected .day-num{color:var(--primary);font-weight:800}.event-dots{display:flex;gap:3px;align-items:center;justify-content:center;margin-top:2px;opacity:0;transition:opacity .4s cubic-bezier(.5,0,.5,1);transition-delay:.2s}.ui-calendar:focus .event-dots,.ui-calendar.is-expanded .event-dots{opacity:1}.event-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.event-dot--svv{background:var(--primary, #0066cc)}.event-dot--fraktion{background:#e30613}.event-dot--ausschuss{background:#888}.event-dot--sonstiges{background:#bbb}.ui-reset{position:absolute;appearance:none;border:none;background:none;font-family:Inter,sans-serif;font-size:.75em;right:10.8vmin;top:0;height:9vmin;padding:.25em .5em;opacity:0;pointer-events:none;cursor:pointer;color:var(--gray);z-index:200;transition:opacity .3s}.ui-reset.visible{opacity:.6;pointer-events:auto}.ui-reset:hover{opacity:1}.cal-legend{display:flex;gap:20px;flex-wrap:wrap;margin:8px 0 32px;font-size:.8rem;color:var(--gray)}.cal-legend-item{display:flex;align-items:center;gap:6px}.cal-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cal-events{margin-top:8px}.cal-events-title{font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 16px}.cal-no-events{color:var(--gray)}.cal-event-list{list-style:none;display:flex;flex-direction:column;gap:10px}.cal-event-item{display:flex;gap:16px;align-items:flex-start;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;box-shadow:var(--shadow-md);border-left-width:3px}.cal-event--svv{border-left-color:var(--primary, #0066cc)}.cal-event--fraktion{border-left-color:#e30613}.cal-event--ausschuss{border-left-color:#888}.cal-event--sonstiges{border-left-color:#ccc}.cal-event-date{display:flex;flex-direction:column;align-items:center;min-width:44px;text-align:center;flex-shrink:0}.cal-event-day-num{font-size:2rem;font-weight:800;color:var(--primary);line-height:1}.cal-event-mon{font-size:.65rem;font-weight:600;color:var(--gray);text-transform:uppercase}.cal-event-body{flex:1;min-width:0}.cal-event-type-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;margin-bottom:4px;background:#0066cc1a;color:var(--primary)}.cal-event--fraktion .cal-event-type-badge{background:#e306131a;color:#c00}.cal-event--ausschuss .cal-event-type-badge{background:#0000000f;color:#555}.cal-event--sonstiges .cal-event-type-badge{background:#0000000d;color:#888}.cal-event-title{font-weight:700;color:var(--text);font-size:.98rem;margin:0 0 4px;line-height:1.4}.cal-event-meta{display:block;font-size:.78rem;color:var(--gray)}.cal-event-desc{font-size:.84rem;color:var(--gray);margin:6px 0 0;line-height:1.5}:global([data-theme=dark]) .ui-bg{background:var(--white, #1d1d1f);border-color:#ffffff1a}:global([data-theme=dark]) .ui-row,:global([data-theme=dark]) .ui-column{border-color:#ffffff14}:global([data-theme=dark]) .ui-calendar:focus .ui-row,:global([data-theme=dark]) .ui-calendar:focus .ui-column,:global([data-theme=dark]) .ui-calendar.is-expanded .ui-row,:global([data-theme=dark]) .ui-calendar.is-expanded .ui-column{border-color:#4da3ff33}:global([data-theme=dark]) .cal-nav-btn{background:#4da3ff1a;color:#4da3ff}@media(max-width:700px){.cal-event-item{padding:12px 14px}.cal-event-day-num{font-size:1.5rem}}@media(max-width:700px){.ui-calendar{pointer-events:auto}.ui-bg{transform:none!important;box-shadow:0 8px 40px #00000024!important;transition:none!important}.ui-header{transform:translate(50%)!important;transition:none!important}.ui-header>.ui-text{transform:translate(-50%)!important;transition:none!important}.ui-header>.ui-text.-empty{opacity:0!important}.ui-header>.ui-text.-month-year{opacity:1!important}.ui-text.-month-year:before,.ui-text.-month-year:after{display:none!important}.ui-row{transform:translateY(calc((var(--row) - 1) * 9vmin)) scaleX(1)!important;border-color:#0066cc2e!important;transition:none!important}.ui-column{transform:translate(calc((var(--col) - 1) * 9vmin)) scaleY(1)!important;border-color:#0066cc2e!important;transition:none!important}.day-num{transform:none!important;opacity:1!important;transition:none!important;font-size:3.2vmin}.event-dots{opacity:1!important}.ui-day{min-height:44px;min-width:44px}.cal-nav-btn{width:44px;height:44px;font-size:1.6rem}}
