.kal{--kal-linie:var(--line);--kal-zelle:112px;gap:20px;display:grid}.kal-kopf{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.kal-zeitraum{margin:0}.kal-ansichten{margin-left:auto}@media (max-width:899px){.kal-ansichten{margin-left:0}}.kal-blaettern{align-items:center;gap:6px;display:flex}.kal-pfeil,.kal-heute{background:var(--paper);border:1px solid var(--kal-linie);border-radius:var(--pill);min-height:36px;color:var(--text-2);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);justify-content:center;align-items:center;display:inline-flex}.kal-pfeil{width:36px}.kal-heute{padding:0 15px;font-size:.875rem;font-weight:500}.kal-pfeil:hover,.kal-heute:hover{border-color:var(--ink);color:var(--text-1)}.kal-ansichten{flex-wrap:wrap;gap:8px;display:flex}.kal-ansichten .fchip{gap:7px}.kal-filter{border-bottom:1px solid var(--kal-linie);gap:12px;padding-bottom:20px;display:grid}.kal-suche{align-items:center;max-width:460px;display:flex;position:relative}.kal-suche-zeichen{color:var(--text-3);pointer-events:none;position:absolute;left:15px}.kal-suche-feld{background:var(--paper);border:1px solid var(--kal-linie);border-radius:var(--pill);width:100%;min-height:44px;transition:border-color var(--dur) var(--ease);padding:0 40px 0 42px;font-size:.9375rem}.kal-suche-feld:hover{border-color:var(--line-strong)}.kal-suche-feld::-webkit-search-cancel-button{display:none}.kal-suche-weg{border-radius:var(--pill);width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:8px}.kal-suche-weg:hover{background:var(--sand);color:var(--text-1)}.kal-filter-reihe{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.kal-filter-reihe .fchip{gap:7px}.kal-zahl{color:var(--text-2);margin:0 0 0 auto;font-size:.875rem}.kal-zuruecksetzen{gap:5px}.kal-klapp{position:relative}.kal-klapp>summary{cursor:pointer;gap:7px;list-style:none}.kal-klapp>summary::-webkit-details-marker{display:none}.kal-klapp-zahl{background:var(--red);border-radius:var(--pill);color:#fff;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.75rem;font-weight:600;display:inline-flex}.fchip[aria-pressed=true] .kal-klapp-zahl{background:var(--paper);color:var(--ink)}.kal-klapp-tafel{z-index:40;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--bubble-sm);min-width:230px;box-shadow:var(--shadow-md);gap:2px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.kal-klapp-zeile{border-radius:var(--r-sm);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;font-size:.9375rem;display:grid}.kal-klapp-zeile:hover{background:var(--sand)}.kal-klapp-zeile input{width:16px;height:16px;accent-color:var(--red);cursor:pointer}.kal-klapp-zeile em{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.8125rem;font-style:normal}.kal-marken{flex-wrap:wrap;gap:8px;display:flex}.kal-marke{align-items:center;gap:6px;padding-right:6px;display:inline-flex}.kal-marke button{border-radius:var(--pill);width:20px;height:20px;color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.kal-marke button:hover{background:var(--paper);color:var(--red)}.kal-termin{min-width:0;position:relative}.kal-termin-knopf{border-radius:var(--r-sm);background:var(--sand);width:100%;color:var(--text-1);text-align:left;transition:background-color var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:6px;padding:5px 8px;font-size:.8125rem;line-height:1.3;text-decoration:none;display:flex}.kal-termin-knopf:hover{background:var(--blush);color:var(--text-1);transform:translateY(-1px)}.kal-termin-titel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.kal-termin-zeit{color:var(--text-2);flex-shrink:0;font-size:.75rem}.kal-termin-block{height:100%}.kal-termin-block .kal-termin-knopf{grid-template-columns:auto minmax(0,1fr);align-content:start;gap:0 6px;height:100%;padding:5px 7px;display:grid;overflow:hidden}.kal-termin-block .kal-termin-knopf:hover{transform:none}.kal-termin-block .kal-termin-knopf .dot{margin-top:5px}.kal-termin-block .kal-termin-titel{white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kal-termin-block .kal-termin-zeit{white-space:nowrap;text-overflow:ellipsis;grid-column:2;margin-top:2px;overflow:hidden}.kal-termin-knopf .dot{border-radius:var(--pill);flex-shrink:0;width:7px;height:7px}.dot-past{background:var(--line)}.kal-termin-vorbei .kal-termin-knopf{opacity:.55;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.kal-termin-vorbei:hover .kal-termin-knopf,.kal-termin-vorbei:focus-within .kal-termin-knopf{opacity:1}.kal-zelle-frei{cursor:pointer;width:100%;transition:background-color var(--dur) var(--ease);background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.kal-zelle-frei:hover{background:color-mix(in srgb, var(--blush) 60%, transparent)}.kal-linie-frei{cursor:pointer;width:100%;transition:background-color var(--dur) var(--ease);background:0 0;border-bottom:0;border-left:0;border-right:0;margin:0;padding:0}.kal-linie-frei:hover{background:color-mix(in srgb, var(--blush) 60%, transparent)}.kal-karte{z-index:60;width:280px;color:inherit;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--bubble);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur) var(--ease);text-decoration:none;display:block;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(-4px)}.kal-termin:hover .kal-karte,.kal-termin:focus-within .kal-karte{opacity:1;visibility:visible;transform:translateY(0)}.kal-karte:hover{color:inherit}.kal-karte:hover .kal-karte-titel{color:var(--red)}.kal-karte:before{content:"";z-index:-1;position:absolute;inset:-8px}.kal-monat-raster>.kal-zelle:nth-child(7n) .kal-karte,.kal-monat-raster>.kal-zelle:nth-child(7n-1) .kal-karte{left:auto;right:0}.kal-monat-raster>.kal-zelle:nth-child(n+29) .kal-karte{top:auto;bottom:calc(100% + 6px);transform:translateY(4px)}.kal-monat-raster>.kal-zelle:nth-child(n+29) .kal-termin:hover .kal-karte,.kal-monat-raster>.kal-zelle:nth-child(n+29) .kal-termin:focus-within .kal-karte{transform:translateY(0)}.kal-karte-bild{aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--bubble) - 1px) calc(var(--bubble) - 1px) 0 0;width:100%;display:block}.kal-karte-leib{padding:14px 16px 12px}.kal-karte-art{color:var(--red);letter-spacing:.07em;text-transform:uppercase;margin:0 0 2px;font-size:.6875rem;font-weight:600}.kal-karte-titel{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:1rem;font-weight:600;line-height:1.25}.kal-karte-text{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 10px;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.kal-karte-zeile{color:var(--text-2);align-items:center;gap:7px;margin:0 0 4px;font-size:.8125rem;display:flex}.kal-karte-zeile svg{color:var(--text-3);flex-shrink:0}.kal-karte-zeile .dot{border-radius:var(--pill);flex-shrink:0;width:7px;height:7px}.kal-karte-fuss{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin:10px 0 0;padding-top:10px;display:flex}.kal-karte-fuss b{font-family:var(--font-display);font-size:.9375rem}.kal-karte-mehr{color:var(--red);font-size:.8125rem;font-weight:500}.kal-monat{gap:0;display:grid}.kal-monat-kopf{grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid}.kal-monat-spalte{text-align:center;color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;padding:0 0 10px;font-size:.75rem;font-weight:600}.kal-kurz{display:inline}.kal-lang{display:none}@media (min-width:900px){.kal-kurz{display:none}.kal-lang{display:inline}}.kal-monat-raster{border:1px solid var(--kal-linie);border-radius:var(--bubble);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.kal-monat-raster>.kal-zelle:first-child{border-top-left-radius:var(--r)}.kal-monat-raster>.kal-zelle:nth-child(7){border-top-right-radius:var(--r)}.kal-monat-raster>.kal-zelle:nth-child(36){border-bottom-left-radius:0}.kal-monat-raster>.kal-zelle:nth-child(42){border-bottom-right-radius:var(--r)}.kal-zelle{min-height:var(--kal-zelle);border-right:1px solid var(--kal-linie);border-bottom:1px solid var(--kal-linie);transition:background-color var(--dur) var(--ease);align-content:start;gap:6px;min-width:0;padding:8px 7px 10px;display:grid;position:relative}.kal-zelle:nth-child(7n){border-right:0}.kal-zelle:nth-child(n+36){border-bottom:0}.kal-zelle-fremd{background:color-mix(in srgb, var(--sand) 42%, transparent)}.kal-zelle-fremd .kal-zelle-zahl{color:var(--text-3)}.kal-zelle-zahl{color:var(--text-2);font-variant-numeric:tabular-nums;justify-content:flex-end;font-size:.8125rem;display:flex}.kal-zelle-zahl span{border-radius:var(--pill);justify-content:center;align-items:center;min-width:24px;height:24px;display:inline-flex}.kal-zelle-heute .kal-zelle-zahl span{background:var(--red);color:#fff;font-weight:600}.kal-zelle-liste{gap:3px;min-width:0;display:grid}.kal-mehr{border-radius:var(--r-sm);color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 8px;font-size:.75rem}.kal-mehr:hover{background:var(--sand);color:var(--red)}@media (max-width:640px){.kal{--kal-zelle:76px}.kal-zelle{padding:5px 4px 7px}.kal-termin-knopf{gap:4px;padding:3px 5px;font-size:.6875rem}.kal-karte{display:none}}.kal-woche{--kal-stunde-h:52px;border:1px solid var(--kal-linie);border-radius:var(--bubble);overflow-x:auto}@media (min-width:900px){.kal-woche{overflow:visible}}@media (max-width:899px){.kal-woche .kal-karte{display:none}}.kal-woche-kopf,.kal-woche-leib{grid-template-columns:56px repeat(7,minmax(96px,1fr));min-width:760px;display:grid}.kal-woche-kopf{border-bottom:1px solid var(--kal-linie);background:var(--paper);border-radius:var(--r) var(--r) 0 0}.kal-woche-ecke{border-right:1px solid var(--kal-linie)}.kal-woche-spalte{border-right:1px solid var(--kal-linie);justify-items:center;gap:1px;padding:10px 6px;display:grid}.kal-woche-spalte:last-child{border-right:0}.kal-woche-name{color:var(--text-2);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.kal-woche-zahl{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.125rem}.kal-woche-heute .kal-woche-zahl{color:var(--red)}.kal-woche-uhr,.kal-woche-spur,.kal-tag-uhr,.kal-tag-spur{grid-template-rows:repeat(var(--kal-stunden,10),var(--kal-stunde-h));display:grid}.kal-woche-uhr,.kal-tag-uhr{border-right:1px solid var(--kal-linie)}.kal-woche-spur{border-right:1px solid var(--kal-linie);min-width:0;position:relative}.kal-woche-spur:last-child{border-right:0}.kal-woche-spur-heute{background:color-mix(in srgb, var(--blush) 40%, transparent)}.kal-linie{border-top:1px solid var(--kal-linie)}.kal-linie:first-of-type{border-top:0}.kal-stunde{color:var(--text-3);text-align:right;padding:3px 10px 0;font-size:.75rem}.kal-woche-block{min-width:0;padding:2px 3px;position:absolute}.kal-woche-block:hover,.kal-woche-block:focus-within{z-index:60}.kal-woche-block .kal-karte{top:0;left:calc(100% + 6px)}.kal-woche-leib>.kal-woche-spur:nth-last-child(-n+2) .kal-karte{left:auto;right:calc(100% + 6px)}.kal-tag{--kal-stunde-h:56px;border:1px solid var(--kal-linie);border-radius:var(--bubble);grid-template-columns:64px minmax(0,1fr);display:grid}.kal-tag-spur{min-width:0;position:relative}.kal-tag-block{min-height:112px;padding:6px 8px;position:absolute}.kal-tag-block .kal-zeile{align-items:start;height:100%}@media (min-width:720px){.kal-tag-block .kal-zeile:has(.kal-zeile-bild){grid-template-columns:152px minmax(0,1fr) auto}}@media (max-width:640px){.kal-woche{--kal-stunde-h:42px}.kal-tag{--kal-stunde-h:46px}.kal-woche-kopf,.kal-woche-leib{grid-template-columns:44px repeat(7,minmax(132px,1fr));min-width:968px}.kal-stunde{padding:3px 6px 0;font-size:.6875rem}.kal-termin-block .kal-termin-zeit{white-space:normal;text-overflow:clip}}.kal-liste{gap:28px;display:grid}.kal-liste-tag{gap:12px;display:grid}.kal-liste-kopf{border-bottom:1px solid var(--kal-linie);font-family:var(--font-display);letter-spacing:-.01em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin:0;padding-bottom:8px;font-size:1.0625rem;font-weight:600;display:flex}.kal-liste-zahl{color:var(--text-3);font-family:var(--font-sans);letter-spacing:0;font-size:.8125rem;font-weight:400}.kal-liste-zeilen{gap:10px;display:grid}.kal-zeile{background:var(--paper);border:1px solid var(--kal-linie);border-radius:var(--bubble);transition:border-color var(--dur) var(--ease), box-shadow var(--dur-slow) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:14px;padding:14px;display:grid}.kal-zeile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kal-zeile-voll{opacity:.72}.kal-zeile-vorbei{opacity:.6}.kal-zeile-vorbei:hover,.kal-zeile-vorbei:focus-within{opacity:1}@media (min-width:720px){.kal-zeile{grid-template-columns:112px minmax(0,1fr) auto;gap:18px}.kal-zeile:not(:has(.kal-zeile-bild)){grid-template-columns:minmax(0,1fr) auto}}.kal-zeile-bild{border-radius:var(--bubble-sm);display:block;overflow:hidden}.kal-zeile-bild img{aspect-ratio:3/2;object-fit:cover;width:100%}.kal-zeile-leib{min-width:0}.kal-zeile-art{color:var(--red);letter-spacing:.07em;text-transform:uppercase;margin:0 0 2px;font-size:.6875rem;font-weight:600}.kal-zeile-titel{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.3}.kal-zeile-titel a{color:inherit;text-decoration:none}.kal-zeile-titel a:hover{color:var(--red)}.kal-zeile-meta{color:var(--text-2);flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;font-size:.875rem;display:flex}.kal-zeile-meta span{align-items:center;gap:6px;display:inline-flex}.kal-zeile-meta svg{color:var(--text-3)}.kal-zeile-meta .dot{border-radius:var(--pill);width:8px;height:8px}.kal-zeile-tat{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}@media (min-width:720px){.kal-zeile-tat{flex-direction:column;align-items:flex-end;gap:8px}}.kal-zeile-preis{font-family:var(--font-display);font-size:1rem}.kal-leer{text-align:center;color:var(--text-2);background:var(--sand);border-radius:var(--bubble);margin:0;padding:44px 20px}@media (prefers-reduced-motion:reduce){.kal-termin-knopf,.kal-karte,.kal-zeile,.kal-pfeil,.kal-heute,.kal-suche-feld{transition:none}.kal-termin-knopf:hover,.kal-zeile:hover{transform:none}}
