.hk-wrap{--hk-ink:#293B37;--hk-petrol:#285B59;--hk-sea:#E6EAD8;--hk-cream:#F7F5EF;color:var(--hk-ink);margin-block:2rem;font-family:inherit}.hk-wrap [hidden]{display:none!important}.hk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.hk-card{background:var(--hk-cream);border:1px solid #c4d3cd;border-radius:20px;padding:24px;min-width:0}.hk-card h3{font-size:1.5rem;line-height:1.3;color:var(--hk-petrol);margin:0 0 16px;overflow-wrap:anywhere}.hk-card h4{font-size:1.15rem;line-height:1.4;margin:0 0 12px;color:var(--hk-petrol)}.hk-card p{margin-block:0 16px;line-height:1.6}.hk-place{font-size:.9rem;font-weight:600}.hk-dates{list-style:none;padding:0!important;margin:0 0 20px!important;font-size:1rem;line-height:1.8;font-variant-numeric:tabular-nums}.hk-pair{background:var(--hk-sea);border-radius:14px;padding:18px;margin-top:20px}.hk-button{display:inline-block;border:2px solid var(--hk-petrol);border-radius:10px;background:var(--hk-petrol);color:#fff;padding:12px 17px;line-height:1.4;font:inherit;text-align:left;cursor:pointer;max-width:100%}.hk-button:hover{background:#1b4341}.hk-button:focus-visible,.hk-cancel:focus-visible,.hk-wrap summary:focus-visible,.hk-dialog input:focus-visible{outline:3px solid #285B59;outline-offset:4px}.hk-note{font-size:.9rem;line-height:1.6}.hk-description{margin-top:22px}.hk-description summary{cursor:pointer;color:var(--hk-petrol);text-decoration:underline;text-underline-offset:4px}.hk-description p{padding-top:15px;font-size:1rem;overflow-wrap:anywhere}.hk-dialog{width:min(520px,calc(100% - 40px));max-height:85vh;box-sizing:border-box;border:1px solid #c4d3cd;border-radius:20px;background:var(--hk-cream);padding:28px;color:var(--hk-ink);font:inherit}.hk-dialog::backdrop{background:rgba(22,48,46,.55)}.hk-dialog h3{color:var(--hk-petrol);line-height:1.3}.hk-dialog label{display:block;font-weight:600}.hk-dialog input{display:block;box-sizing:border-box;width:100%;margin:10px 0 18px;padding:12px;border:1px solid #648982;border-radius:8px;background:white;color:#293B37;font:inherit}.hk-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hk-cancel{background:transparent;color:var(--hk-petrol);border:0;text-decoration:underline;font:inherit;cursor:pointer;padding:12px}.hk-empty a,.hk-wrap>a{color:var(--hk-petrol)}@media(max-width:760px){.hk-grid{grid-template-columns:1fr}.hk-card{padding:22px}.hk-pair{padding:16px}.hk-dialog{padding:22px}.hk-button{width:100%;text-align:center}}

/* 0.2.0: scoped controls inherit the site's fonts; Lindgrün is the agreed palette value. */
.hk-wrap,.hk-wrap *{box-sizing:border-box}
.hk-grid{align-items:start}
.hk-card--women{border-top:5px solid var(--hk-petrol)}
.hk-card--couples{background:var(--hk-sea);border-top:5px solid var(--hk-petrol)}
.hk-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.hk-filter{appearance:none;font:inherit;font-size:1rem;line-height:1.4;cursor:pointer;padding:10px 18px;min-height:44px;border:1px solid var(--hk-petrol);border-radius:999px;background:transparent;color:var(--hk-petrol)}
.hk-filter[aria-pressed="true"]{background:var(--hk-petrol);color:#fff}
.hk-filter:hover{box-shadow:inset 0 0 0 1px var(--hk-petrol)}
.hk-filter:focus-visible,.hk-card h3:focus-visible{outline:3px solid var(--hk-petrol);outline-offset:4px}
.hk-results{margin:0 0 20px}
.hk-badge{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:3px 10px;font-size:.8rem;color:var(--hk-petrol);margin-bottom:10px!important}
.hk-date-range{font-weight:600;margin-bottom:6px!important;font-variant-numeric:tabular-nums}
.hk-schedule{margin-bottom:18px}
.hk-schedule summary{cursor:pointer;color:var(--hk-petrol);text-decoration:underline;text-underline-offset:4px;min-height:32px}
.hk-schedule .hk-dates{margin-top:10px!important}
.hk-card .hk-button{font-size:1rem;min-height:44px;text-align:center}
.hk-more{display:block;margin:24px auto 0;background:transparent;color:var(--hk-petrol);text-align:center}
.hk-more:hover{color:#fff}
.hk-wrap p,.hk-dialog p{overflow-wrap:anywhere}
@media(max-width:760px){.hk-card{padding:20px}.hk-card h3{font-size:1.35rem}.hk-filters{gap:8px}.hk-filter{padding:10px 12px}.hk-more{width:100%}}

/* 0.4.0: distinguish the independent provider from the course venue. */
.hk-provider{display:flex;flex-direction:column;gap:4px;margin:0 0 24px;line-height:1.5}
.hk-provider span,.hk-place-label{font-size:.8rem;letter-spacing:.03em}
.hk-provider strong{color:var(--hk-petrol);font-size:1.1rem}
.hk-place{margin:0 0 18px;line-height:1.5}
.hk-place-label{display:block;font-weight:400;margin-bottom:4px}
.hk-card .hk-place p{margin:0;font-size:.9rem}
.hk-card .hk-place .hk-address{font-size:.85rem;font-weight:400;margin-top:4px}
.hk-card .hk-short{font-size:1rem;line-height:1.6;margin-bottom:20px}
.hk-card .hk-pair h4{margin-bottom:8px}
.hk-pair .hk-dates{font-size:.9rem;margin-bottom:8px!important}
.hk-card .hk-pair-hint{font-size:.85rem;margin-bottom:10px}
.hk-pair-details{margin-bottom:14px}
.hk-pair-details summary{cursor:pointer;color:var(--hk-petrol);text-decoration:underline;text-underline-offset:4px;min-height:44px;display:list-item;padding-block:10px}
.hk-pair-details>p{font-size:.9rem;margin-top:10px}
.hk-pair-details .hk-description{margin-block:10px}
@media(max-width:380px){.hk-card{padding:16px}.hk-pair{padding:14px}.hk-card .hk-button{padding-inline:10px}}

/* 0.4.1: consistent date hierarchy for every course type. */
.hk-wrap .hk-date-range,.hk-wrap .hk-dates strong{font-weight:600;font-size:1rem}
.hk-wrap .hk-dates,.hk-wrap .hk-pair .hk-dates{font-size:1rem;line-height:1.8}
.hk-wrap .hk-time{font-weight:400}

/* 0.5.0: wide-block compatibility and a local, optional date finder. */
.hk-wrap{width:100%;min-width:0}
.hk-wrap.alignwide{max-width:var(--wp--style--global--wide-size,1100px)}
.hk-finder{padding:22px;border:1px solid #c4d3cd;border-radius:16px;margin-bottom:24px;background:var(--hk-cream)}
.hk-finder h3{margin-top:0;color:var(--hk-petrol);font-size:1.25rem}
.hk-finder input{display:block;max-width:100%;margin-block:8px 16px;padding:10px;border:1px solid var(--hk-petrol);border-radius:8px;font:inherit;color:var(--hk-ink);background:white;min-height:44px}
.hk-finder label{display:block;font-weight:600}
.hk-finder p{line-height:1.6}
.hk-finder input:focus-visible{outline:3px solid var(--hk-petrol);outline-offset:3px}
.hk-card--et-match{box-shadow:0 0 0 2px var(--hk-petrol)}
.hk-card .hk-et-match{border-left:3px solid var(--hk-petrol);padding:8px 12px;font-size:.9rem;font-weight:600;color:var(--hk-petrol)}
@media(max-width:760px){.hk-finder{padding:16px}.hk-finder .hk-actions{align-items:stretch;flex-direction:column}}
