/* Calendar 2.0 — Event-Block Polish + Source-spezifische Hints */

.cal-event-title { color: var(--text-primary); }

/* Source-Badges (kleine Indikatoren am Event-Block) */
.cal-timed-event[data-source="content_calendar"]::before,
.cal-allday-event[data-source="content_calendar"]::before { content: ""; }

/* Status: tentative = gestrichelt, cancelled = durchgestrichen */
.cal-timed-event.status-tentative,
.cal-allday-event.status-tentative {
  border-left-style: dashed;
  opacity: 0.85;
}
.cal-timed-event.status-cancelled,
.cal-allday-event.status-cancelled {
  text-decoration: line-through;
  opacity: 0.5;
}

/* Hover-Vergrößerung für Event-Blocks */
.cal-allday-event { transition: filter .12s, transform .12s; }
.cal-allday-event:hover { transform: translateY(-1px); }

/* Event-Stack-Spacing in Day/Week */
.cal-day-col { padding: 0; }

/* Smooth Scroll im Hours-Container */
.cal-hours-container {
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--border-color) transparent;
}
.cal-hours-container::-webkit-scrollbar { width: 8px; }
.cal-hours-container::-webkit-scrollbar-track { background: transparent; }
.cal-hours-container::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

/* Touch-Targets (mind. 44x44 auf Mobile) */
@media (pointer: coarse) {
  .cal-btn { min-height: 36px; padding: 8px 14px; }
  .cal-btn-tiny { min-height: 32px; padding: 6px 12px; }
  .cal-category-row { padding: 6px 0; }
}

/* Print-View (PDF-Export) */
@media print {
  .cal-sidebar, .cal-toolbar { display: none !important; }
  .cal-container { grid-template-columns: 1fr; height: auto; }
  .cal-timed-event, .cal-allday-event, .cal-month-event {
    border: 1px solid #999 !important;
    background: #f5f5f5 !important;
    color: #000 !important;
  }
}
