/* agenda.html inline styles */
.cal-filters{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px; }
.chip{ display:inline-flex; align-items:center; gap:8px; font-family:var(--display); font-weight:600; text-transform:uppercase; letter-spacing:.03em; font-size:14px; padding:9px 16px; border-radius:6px; border:2px solid var(--line); background:#fff; color:var(--ink-2); cursor:pointer; transition:.15s; }
.chip:hover{ border-color:#bdbbb4; } .chip.is-on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.chip .dot{ width:11px; height:11px; border-radius:3px; }

.cal-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.cal-nav{ display:flex; align-items:center; gap:8px; width:160px; }
.cal-nav button{ font-family:var(--display); font-weight:700; border:2px solid var(--line); background:#fff; cursor:pointer; border-radius:6px; transition:.15s; }
.cal-nav button#prev,.cal-nav button#next{ width:44px; height:44px; font-size:24px; line-height:1; color:var(--ink); }
.cal-nav button:hover{ border-color:var(--ink); }
.cal-today{ height:44px; padding:0 16px; text-transform:uppercase; letter-spacing:.04em; font-size:14px; color:var(--ink); }
.cal-title{ font-size:clamp(26px,3.4vw,40px); text-align:center; flex:1; }

.calendar{ border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft); background:#fff; }
.cal-weekdays{ display:grid; grid-template-columns:repeat(7,1fr); background:var(--ink); color:#fff; }
.cal-weekdays span{ padding:12px; text-align:center; font-family:var(--display); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:14px; }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); }
.cell{ min-height:118px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:8px 8px 10px; display:flex; flex-direction:column; gap:5px; position:relative; }
.cell:nth-child(7n){ border-right:0; }
.cell.out{ background:#f7f6f4; }
.cell.out .cell__num{ color:#bdbdc4; }
.cell__num{ font-family:var(--display); font-weight:700; font-size:16px; color:var(--ink-2); align-self:flex-end; }
.cell.today{ background:#fdf1f2; }
.cell.today .cell__num{ background:var(--red); color:#fff; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.epill{ font-size:12.5px; font-weight:600; padding:4px 8px; border-radius:4px; line-height:1.2; cursor:default; border-left:3px solid; overflow:hidden; text-overflow:ellipsis; }
.epill.kamp{ background:#fbe6e8; color:#a8161f; border-color:#d11f2a; }
.epill.toernooi{ background:#e8edfb; color:#16308a; border-color:#1b3aa6; }
.epill.examen{ background:#f1e8fa; color:#5e1f8c; border-color:#7b2bb0; }
.epill.vakantie{ background:#eef0f2; color:#4b4f59; border-color:#6b7280; }
.epill.speciaal{ background:#fcefe2; color:#a8571b; border-color:#e8833a; }
.epill.hide{ display:none; }

.cal-list-head{ margin:48px 0 18px; } .cal-list-head h3{ font-size:26px; }
.ev-list{ display:grid; gap:14px; }
.ev{ display:grid; grid-template-columns:96px 1fr auto; gap:24px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:22px 26px; box-shadow:var(--shadow-soft); border-left:5px solid var(--line); }
.ev.kamp{ border-left-color:#d11f2a; } .ev.toernooi{ border-left-color:#1b3aa6; } .ev.examen{ border-left-color:#7b2bb0; } .ev.vakantie{ border-left-color:#6b7280; } .ev.speciaal{ border-left-color:#e8833a; }
.ev__date{ background:var(--ink); color:#fff; border-radius:6px; text-align:center; padding:14px 8px; }
.ev__date b{ font-family:var(--display); font-weight:800; font-size:24px; display:block; line-height:1; }
.ev__date span{ font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:#cfd0d8; }
.ev__cat{ display:inline-block; font-family:var(--display); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; padding:4px 11px; border-radius:4px; margin-bottom:8px; }
.cat-kamp{ background:#fbe6e8; color:#a8161f; } .cat-toernooi{ background:#e8edfb; color:#16308a; } .cat-examen{ background:#f1e8fa; color:#5e1f8c; } .cat-vakantie{ background:#eef0f2; color:#4b4f59; } .cat-speciaal{ background:#fcefe2; color:#a8571b; }
.ev__body h4{ font-size:23px; margin-bottom:5px; } .ev__body p{ margin:0; color:var(--muted); font-size:16px; }
.ev-empty{ text-align:center; color:var(--muted); padding:40px 0; }

.agenda-week{ display:none; }
.agenda-week__month{ font-size:22px; text-transform:none; margin:0 0 12px; }
.agenda-week__nav{ display:grid; grid-template-columns:48px 1fr 48px; align-items:center; border:1px solid var(--line); border-radius:6px 6px 0 0; background:#fff; }
.agenda-week__nav button{ width:48px; height:48px; border:0; background:#fff; color:var(--ink); font-size:24px; font-weight:700; cursor:pointer; }
.agenda-week__nav button:first-child{ border-right:1px solid var(--line); border-radius:6px 0 0; }
.agenda-week__nav button:last-child{ border-left:1px solid var(--line); border-radius:0 6px 0 0; }
.agenda-week__title{ text-align:center; font-family:var(--display); text-transform:uppercase; font-size:16px; letter-spacing:.04em; }
.agenda-week__days{ border:1px solid var(--line); border-top:0; border-radius:0 0 6px 6px; overflow:hidden; background:#fff; }
.agenda-week__day{ display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px; align-items:center; min-height:64px; padding:10px 12px; border-bottom:1px solid var(--line); }
.agenda-week__day:last-child{ border-bottom:0; }
.agenda-week__date{ display:flex; align-items:baseline; gap:5px; font-family:var(--display); color:var(--ink-2); }
.agenda-week__date span{ font-weight:700; font-size:14px; }
.agenda-week__date b{ font-size:16px; }
.agenda-week__day.is-today{ background:#fdf1f2; }
.agenda-week__day.is-today .agenda-week__date b{ display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 5px; border-radius:17px; background:var(--red); color:#fff; }
.agenda-week__events{ display:grid; gap:6px; min-width:0; }
.agenda-week__event{ display:flex; align-items:center; width:100%; min-height:44px; margin:0; padding:10px 12px; border:0; border-radius:5px; background:var(--event-color); color:#fff; font:600 14px/1.25 var(--body); text-align:left; overflow-wrap:anywhere; }
button.agenda-week__event{ cursor:pointer; }
button.agenda-week__event:focus-visible{ outline:3px solid var(--ink); outline-offset:2px; }
.agenda-week__empty{ color:#92949c; font-size:14px; }

@media (max-width:760px){
  .cal-filters{ flex-wrap:nowrap; overflow-x:auto; margin-right:-32px; padding-right:32px; padding-bottom:4px; scrollbar-width:none; }
  .cal-filters::-webkit-scrollbar{ display:none; }
  .cal-filters .chip{ flex:0 0 auto; min-height:44px; }
  .js .cal-bar,.js .calendar,.js .cal-list-head,.js .ev-list{ display:none; }
  .js .ev-empty{ display:none!important; }
  .js .agenda-week{ display:block; }
}

/* Agenda Info-popup */
.agenda-modal{ display:none; position:fixed; inset:0; z-index:120; background:rgba(13,22,56,.55); align-items:center; justify-content:center; padding:24px; }
.agenda-modal.open{ display:flex; }
.agenda-modal__box{ position:relative; background:#fff; border-radius:var(--radius-lg); max-width:560px; width:100%; max-height:85vh; overflow:auto; padding:34px; box-shadow:var(--shadow-card); }
.agenda-modal__close{ position:absolute; top:12px; right:16px; background:none; border:0; font-size:30px; line-height:1; cursor:pointer; color:var(--ink-2); }
.agenda-modal__title{ font-size:26px; margin:0 0 14px; padding-right:28px; }
.agenda-modal__body{ color:var(--muted); }
.agenda-modal__body p{ margin:0 0 12px; } .agenda-modal__body p:last-child{ margin-bottom:0; }
