.kalender-wrap{max-width:1100px;margin:0 auto;}
#kalender{min-height:600px;background:#fff;padding:10px;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.1);} 
.kalender-placeholder{padding:1rem;opacity:.7;display:inline-block;}
.kalender-help{margin-top:.5rem;color:#444;font-size:.95rem;}

/* DigiKalender notice styles */
.kalender-notice{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  margin:8px 0 12px 0;
  font-size:14px;
  line-height:1.4;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}
.kalender-notice strong{ font-weight:600; }
.kalender-notice .kn-dot{
  width:10px; height:10px; border-radius:50%; display:inline-block; flex:0 0 10px;
}
.kalender-notice--warn{
  background:#fff8e6;
  border:1px solid #f5d18c;
  color:#6b4e16;
}
.kalender-notice--warn .kn-dot{ background:#f59e0b; }
.kalender-notice--ok{
  background:#eefcf3;
  border:1px solid #9fd7b8;
  color:#1f6b45;
}
.kalender-notice--ok .kn-dot{ background:#10b981; }

/* DigiKalender single image modal */
.digikalender-modal{ position: fixed; inset:0; display:none; z-index: 9999; }
.digikalender-modal.is-open{ display:block; }
.digikalender-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,0.6); backdrop-filter:saturate(1.2) blur(1px); }
.digikalender-modal__content{ position:absolute; inset:5%; display:flex; align-items:center; justify-content:center; }
.digikalender-modal__content img{ max-width:100%; max-height:100%; box-shadow:0 10px 25px rgba(0,0,0,0.35); border-radius:12px; }

/* DigiKalender notice button */
.kalender-btn{
  display:inline-block;
  padding:6px 10px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  margin-left:10px;
}
.kalender-btn--signin{
  background:#1f6b45;
  color:#fff;
  border:1px solid #1a5a3a;
}
.kalender-notice--warn .kalender-btn--signin{
  background:#0b5cab;
  border-color:#0a4e94;
}
.kalender-btn--signin:hover{ opacity:0.92; }

/* DigiKalender: weekend/holiday cell tint (robust) */
.fc-daygrid-day.dg-weekend,
.fc-timegrid-col.dg-weekend,
.dg-weekend { background: rgba(255, 235, 205, 0.35); } /* weekend */

.fc-daygrid-day.dg-holiday-cell,
.fc-timegrid-col.dg-holiday-cell,
.dg-holiday-cell { background: rgba(0, 160, 255, 0.10); box-shadow: inset 0 0 0 1px rgba(0,160,255,0.12); }

/* DigiKalender holiday label badge */
.dg-holiday-badge{
  display:inline-block;
  margin-left:6px;
  padding:2px 6px;
  font-size:11px;
  line-height:1.2;
  border-radius:999px;
  background:rgba(0,160,255,0.1);
  color:#055a8c;
  border:1px solid rgba(0,160,255,0.35);
  vertical-align:middle;
}
/* ensure header layout can fit badge */
.fc .fc-daygrid-day-top{ display:flex; align-items:center; gap:4px; }

/* DigiKalender v13.23 busy style override */
.fc .dg-busy,
.fc .fc-event.dg-busy {
  background: rgba(220, 38, 38, 0.12) !important; /* licht rood */
  border: 1px dashed rgba(185, 28, 28, 0.55) !important; /* donkerder rood */
  color: #000 !important; /* tekst zwart */
}

/* DigiKalender v15: Google Maps embed */
.dg-map{ margin:10px 0 16px; border-radius:10px; overflow:hidden; background:#f8fafc; border:1px solid #e5e7eb; }
.dg-map iframe{ width:100%; height:260px; border:0; display:block; }
.dg-map__fallback{ padding:8px 10px; font-size:12px; color:#374151; }
.dg-map__fallback a{ text-decoration:underline; }
@media (min-width: 900px){
  .dg-map iframe{ height:320px; }
}
