.kiskadoo-courses { --course-gap:1.5rem; }
.kiskadoo-course-controls { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; margin:0 0 1.5rem; padding:1rem; background:var(--kiska-soft-1,#f5f8fa); }
.kiskadoo-course-control { display:flex; flex-direction:column; gap:.35rem; min-width:190px; }
.kiskadoo-course-control span { font-weight:700; }
.kiskadoo-course-control input,.kiskadoo-course-control select { min-height:44px; padding:.55rem .7rem; }
.kiskadoo-course-clear { border:0; background:none; text-decoration:underline; cursor:pointer; padding:.7rem 0; }
.kiskadoo-course-category-buttons { display:flex; flex-wrap:wrap; gap:.5rem; }
.kiskadoo-course-category-buttons button { border:1px solid currentColor; background:transparent; padding:.55rem .8rem; cursor:pointer; }
.kiskadoo-course-category-buttons button.is-active { background:var(--kiska-brand-1,#2b5d7d); color:#fff; }
.kiskadoo-course-results { margin:0 0 1rem; font-weight:600; }
.kiskadoo-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--course-gap); }
.kiskadoo-course-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid rgba(0,0,0,.12); box-shadow:0 8px 28px rgba(0,0,0,.08); overflow:hidden; }
.kiskadoo-course-card[hidden] { display:none!important; }
.kiskadoo-course-card__image { display:block; aspect-ratio:16/9; overflow:hidden; }
.kiskadoo-course-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.kiskadoo-course-card__body { display:flex; flex-direction:column; flex:1; padding:1.25rem; }
.kiskadoo-course-card__topline { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; margin-bottom:.75rem; font-size:.85rem; }
.kiskadoo-course-card__category { font-weight:700; }
.kiskadoo-course-card__title { margin:0 0 .75rem; font-size:1.45rem; }
.kiskadoo-course-card__title a { color:inherit; text-decoration:none; }
.kiskadoo-course-card__excerpt { margin-bottom:1rem; }
.kiskadoo-course-card__excerpt p:last-child { margin-bottom:0; }
.kiskadoo-course-card__meta { display:grid; gap:.35rem; margin:auto 0 1.1rem; }
.kiskadoo-course-card__actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.kiskadoo-course-button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.kiskadoo-course-button--details { background:var(--kiska-brand-1,#2b5d7d); color:#fff; }
.kiskadoo-course-button--booking { background:var(--kiska-brand-2,#5c7f31); color:#fff; }
.kiskadoo-course-status { display:inline-block; padding:.3rem .55rem; border-radius:999px; font-size:.78rem; font-weight:700; line-height:1.1; background:#e8ecef; white-space:nowrap; }
.kiskadoo-course-status--available { background:#dff2df; color:#185c1d; }
.kiskadoo-course-status--fully-booked,.kiskadoo-course-status--cancelled { background:#f7dddd; color:#7d1d1d; }
.kiskadoo-course-status--coming-soon { background:#fff0c9; color:#6d4c00; }
.kiskadoo-course-status--completed { background:#e6e6e6; color:#444; }
.kiskadoo-course-empty { padding:2rem; text-align:center; background:var(--kiska-soft-1,#f5f8fa); }
.kiskadoo-course-single { max-width:1100px; margin:0 auto; }
.kiskadoo-course-single__header { margin-bottom:1.5rem; }
.kiskadoo-course-single__header h1 { margin:.3rem 0 .6rem; }
.kiskadoo-course-single__subtitle { font-size:1.2rem; }
.kiskadoo-course-single__image { margin:1.5rem 0; }
.kiskadoo-course-single__image img { width:100%; height:auto; display:block; }
.kiskadoo-course-single__content { margin:2rem 0; }
.kiskadoo-course-schedule { margin:2.5rem 0; }
.kiskadoo-course-schedule__list { display:grid; gap:1rem; }
.kiskadoo-course-session { display:grid; grid-template-columns:48px 1fr; gap:1rem; padding:1rem; border:1px solid rgba(0,0,0,.12); }
.kiskadoo-course-session__number { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--kiska-brand-1,#2b5d7d); color:#fff; font-weight:700; }
.kiskadoo-course-session h3 { margin:0 0 .25rem; }
.kiskadoo-course-session p { margin:.15rem 0; }
.kiskadoo-course-single__booking { margin:2rem 0; }
@media (max-width:900px){ .kiskadoo-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){ .kiskadoo-course-grid{grid-template-columns:1fr;} .kiskadoo-course-control{width:100%;} .kiskadoo-course-controls{align-items:stretch;} }
