/* InKontakt Veranstaltungskalender — responsive editorial event timeline */
:root{color-scheme:light}
body.ink-calendar-body{margin:0;background:#f6f7f1;color:#183b2d;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.ink-calendar-body *{box-sizing:border-box}
.ink-calendar-body main{display:block}
.ink-calendar-body a:focus-visible,.ink-calendar-body button:focus-visible{outline:3px solid #709764;outline-offset:4px}
.ink-cal-hero{padding:clamp(72px,7vw,118px) clamp(18px,5vw,78px) clamp(38px,5vw,70px);overflow:hidden;position:relative}
.ink-cal-hero:before{content:"";position:absolute;right:-16%;top:-40%;width:min(65vw,950px);height:min(65vw,950px);border:1px solid #b8cbbc;border-radius:50%;opacity:.35;pointer-events:none}
.ink-cal-wrapper{max-width:1240px;margin:0 auto}
.ink-cal-crumbs{font-weight:750;font-size:12px;letter-spacing:.065em;display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#65806a;margin-bottom:clamp(37px,4vw,60px)}
.ink-cal-crumbs a{color:inherit;text-decoration:none}
.ink-cal-crumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.ink-cal-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);align-items:end;gap:clamp(24px,5vw,70px)}
.ink-cal-eyebrow{display:block;font-size:12px;line-height:1.45;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:#588062;margin-bottom:19px}
.ink-cal-hero h1{color:#163b2b;font-size:clamp(47px,7.2vw,102px);font-weight:850;letter-spacing:-.078em;line-height:.99;margin:0 0 24px;max-width:880px;overflow-wrap:anywhere}
.ink-cal-hero .ink-cal-lead{font-size:clamp(17px,1.65vw,22px);line-height:1.62;color:#486653;max-width:650px;margin:0 0 15px}
.ink-cal-hero-visual{aspect-ratio:1.08;min-height:260px;border-radius:25px;background:#173c2d;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,42px);color:#ecf3dc;box-shadow:0 20px 45px #173c2d20}
.ink-cal-hero-visual:before,.ink-cal-hero-visual:after{content:"";display:block;position:absolute;border:1px solid #e6efcf88;border-radius:50%;pointer-events:none}
.ink-cal-hero-visual:before{width:105%;aspect-ratio:1;left:31%;top:15%}
.ink-cal-hero-visual:after{width:77%;aspect-ratio:1;left:46%;top:36%}
.ink-cal-hero-visual span{font-size:12px;font-weight:850;letter-spacing:.13em;position:relative;z-index:1}
.ink-cal-hero-visual strong{font-size:clamp(35px,4vw,65px);line-height:1.01;letter-spacing:-.055em;font-weight:850;max-width:360px;position:relative;z-index:1}
.ink-cal-main{background:#ecf1e8;padding:clamp(54px,7vw,96px) clamp(18px,5vw,78px) clamp(66px,8vw,110px)}
.ink-cal-heading{display:flex;gap:18px;justify-content:space-between;align-items:end;border-bottom:1px solid #bfd0c2;padding-bottom:30px;flex-wrap:wrap;margin-bottom:30px}
.ink-cal-heading h2{font-size:clamp(33px,4vw,54px);line-height:1.08;letter-spacing:-.055em;margin:0;font-weight:850;color:#173b2d}
.ink-cal-heading p{max-width:410px;color:#587162;line-height:1.6;font-size:15px;margin:0}
.ink-cal-controls{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 38px}
.ink-cal-controls[hidden]{display:none}
.ink-cal-filter{padding:11px 17px;border:1px solid #acc6b3;border-radius:999px;color:#294e37;background:transparent;cursor:pointer;font-weight:750;font-family:inherit;font-size:14px;min-height:44px}
.ink-cal-filter[aria-pressed=true],.ink-cal-filter:hover{background:#194330;color:white;border-color:#194330}
.ink-cal-timeline{position:relative;padding-left:clamp(19px,3.2vw,41px);margin-left:clamp(7px,1.5vw,19px);border-left:2px solid #aac6b0}
.ink-cal-month{margin:31px 0 20px;position:relative;color:#3d6d4a;font-weight:850;letter-spacing:.11em;text-transform:uppercase;font-size:12px}
.ink-cal-month:before{content:"";position:absolute;left:calc(-1 * clamp(19px,3.2vw,41px) - clamp(7px,1.5vw,19px) - 7px);top:5px;width:11px;height:11px;background:#39774d;border:3px solid #ecf1e8;border-radius:50%;box-sizing:content-box}
.ink-cal-empty{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:22px;align-items:center;background:#fff;border-radius:23px;border:1px solid #d5e3d5;padding:clamp(23px,3.5vw,43px);box-shadow:0 16px 38px #143c2b08}
.ink-cal-empty::before,.ink-cal-event::before{content:"";position:absolute;left:calc(-1 * clamp(19px,3.2vw,41px) - 7px);top:40px;width:12px;height:12px;border:3px solid #ecf1e8;border-radius:50%;background:#2f704d}
.ink-cal-empty .ink-cal-small{display:block;font-size:12px;letter-spacing:.1em;font-weight:850;text-transform:uppercase;color:#66916c;margin:0 0 15px}
.ink-cal-empty h3{font-size:clamp(24px,2.8vw,38px);line-height:1.16;letter-spacing:-.043em;margin:0 0 13px;color:#1b402f}
.ink-cal-empty p{font-size:16px;line-height:1.64;color:#597365;margin:0;max-width:670px}
.ink-cal-empty a{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:13px 19px;border-radius:99px;background:#173c2d;color:white;text-decoration:none;font-size:13px;font-weight:800;white-space:normal}
.ink-cal-empty a:hover{background:#285f42}
.ink-cal-event{position:relative;display:grid;grid-template-columns:minmax(95px,150px) minmax(0,1fr);gap:clamp(20px,3vw,35px);padding:clamp(20px,2.6vw,32px);margin:0 0 15px;background:white;border:1px solid #d4e2d5;border-radius:19px;box-shadow:0 12px 26px #143b2d09}
.ink-cal-event-date{display:flex;flex-direction:column;gap:5px;border-right:1px solid #deeadc;padding-right:15px}
.ink-cal-event-day{font-size:clamp(33px,4vw,53px);font-weight:850;line-height:1;letter-spacing:-.07em}
.ink-cal-event-weekday{font-size:13px;font-weight:800;text-transform:uppercase;color:#6c8e74}
.ink-cal-event-monthname{font-size:13px;color:#6d8675}
.ink-cal-event-tag{font-size:11px;letter-spacing:.11em;font-weight:850;text-transform:uppercase;color:#56765c}
.ink-cal-event h3{font-size:clamp(21px,2.6vw,30px);line-height:1.2;letter-spacing:-.04em;margin:8px 0 13px}
.ink-cal-event p{font-size:15px;line-height:1.65;color:#526d5a;margin:0 0 14px}
.ink-cal-event-details{display:flex;gap:8px 23px;flex-wrap:wrap;font-size:13px;font-weight:700;color:#3f684a;margin:10px 0}
.ink-cal-event-link{display:inline-block;color:#175f3e;font-size:14px;text-decoration:underline;text-underline-offset:5px;font-weight:830;margin-top:14px}
.ink-cal-after{padding:clamp(65px,7vw,105px) clamp(18px,5vw,78px);background:#f7f8f1}
.ink-cal-after-head{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:27px}
.ink-cal-after h2{font-size:clamp(32px,3.7vw,53px);font-weight:850;letter-spacing:-.055em;line-height:1.11;margin:0;color:#193b2c}
.ink-cal-after-head a{color:#255b3b;text-decoration:underline;text-underline-offset:4px;font-weight:800;font-size:14px}
.ink-cal-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(11px,2vw,23px)}
.ink-cal-history a{background:#fff;text-decoration:none;display:flex;flex-direction:column;border:1px solid #e0e7dd;border-radius:20px;overflow:hidden;min-width:0;transition:transform .2s,box-shadow .2s}
.ink-cal-history a:hover{transform:translateY(-4px);box-shadow:0 18px 36px #173b2d16}
.ink-cal-history figure{height:clamp(140px,17vw,215px);margin:0;overflow:hidden;background:#dae5d7}
.ink-cal-history img{width:100%;height:100%;object-fit:cover;display:block}
.ink-cal-history .ink-cal-history-text{padding:clamp(20px,2vw,28px);display:flex;flex-direction:column;gap:12px;flex:1}
.ink-cal-history small{font-size:11px;letter-spacing:.11em;color:#708675;font-weight:850}
.ink-cal-history strong{font-size:clamp(20px,2vw,29px);font-weight:850;color:#183c2c;letter-spacing:-.035em;line-height:1.16}
.ink-cal-history em{margin-top:auto;font-style:normal;color:#356f47;font-weight:800;font-size:13px}
.ink-cal-ending{margin-top:clamp(42px,5vw,65px);border-top:1px solid #d2e0d1;padding-top:32px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.ink-cal-ending p{font-size:18px;font-weight:800;color:#294f3a;max-width:550px;line-height:1.4}
.ink-cal-ending a{border:1px solid #2e5f43;border-radius:999px;text-decoration:none;color:#205039;font-weight:800;padding:15px 22px;white-space:nowrap}
@media(max-width:850px){.ink-cal-hero-grid{grid-template-columns:1fr}.ink-cal-hero-visual{min-height:220px;aspect-ratio:auto}.ink-cal-history{grid-template-columns:repeat(2,minmax(0,1fr))}.ink-cal-empty{grid-template-columns:1fr}}
@media(max-width:560px){.ink-cal-hero{padding-top:60px}.ink-cal-hero h1{font-size:clamp(39px,10.6vw,61px);letter-spacing:-.064em}.ink-cal-hero-visual{min-height:210px}.ink-cal-heading h2{font-size:35px}.ink-cal-history{grid-template-columns:1fr}.ink-cal-event{grid-template-columns:1fr;gap:17px}.ink-cal-event-date{border-right:0;border-bottom:1px solid #deeadc;padding:0 0 13px;flex-direction:row;align-items:baseline;gap:9px}.ink-cal-event-day{font-size:38px}.ink-cal-ending{display:block}.ink-cal-ending a{display:inline-block}}
@media(prefers-reduced-motion:reduce){.ink-cal-history a{transition:none}}
