/* =========================================================================
 * CSS ΗΜΕΡΟΛΟΓΙΟΥ ΕΚΔΗΛΩΣΕΩΝ (ΚΑΘΑΡΟ ΧΩΡΙΣ !IMPORTANT)
 * ========================================================================= */
.pk-cal-ev-container { width: 100%; margin-bottom: 30px; min-height: 700px; box-sizing: border-box; font-family: var(--pk-font-family); }
.pk-cal-ev-slider-wrap { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 10px; padding-bottom: 15px; margin-bottom: 20px; min-height: 75px; align-items: center; }
.pk-cal-ev-btn { background: #f5f5f5; border: 1px solid #ddd; color: #555; padding: 8px 18px; border-radius: 20px; font-size: 14px; font-weight: bold; cursor: pointer; white-space: nowrap; outline: none; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-family: inherit; min-width: 70px; }
.pk-cal-ev-btn:hover { background: #e0e0e0; color: #333; }
.pk-cal-ev-btn.active { background: #d32f2f; color: #fff; border-color: #d32f2f; box-shadow: 0 4px 10px rgba(211,47,47,0.3); }
.pk-cal-ev-badge { background: #d32f2f; color: #fff; border-radius: 50%; width: 22px; height: 22px; font-size: 12px; line-height: 22px; text-align: center; }
.pk-cal-ev-btn.active .pk-cal-ev-badge { background: #fff; color: #d32f2f; }
.pk-cal-ev-datepicker-trigger { background: #fff; border: 2px solid #d32f2f; color: #d32f2f; padding: 8px 18px; border-radius: 20px; font-size: 14px; font-weight: bold; cursor: pointer; white-space: nowrap; flex-shrink: 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-family: inherit; min-height: 52px; }
.pk-cal-ev-datepicker-trigger:hover, .pk-cal-ev-datepicker-trigger.active { background: #d32f2f; color: #fff; }
.pk-cal-ev-date-label { font-size: 13px; color: #777; margin: 0 0 15px 5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; text-align: left; display: block; width: 100%; box-sizing: border-box; }
.pk-calendar-custom-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; width: 100%; box-sizing: border-box; position: relative; min-height: 550px; transition: opacity 0.3s ease; content-visibility: auto; }
.pk-cal-ev-loader { width: 100%; text-align: center; padding: 50px 20px; color: #666; font-size: 16px; font-weight: bold; background: #f9f9f9; border-radius: 8px; border: 1px dashed #ccc; grid-column: 1 / -1; }

.flatpickr-calendar { z-index: 999999; font-family: var(--pk-font-family); }
.flatpickr-day { position: relative; }
.flatpickr-day .pk-fp-badge { position: absolute; bottom: 2px; right: 2px; background: #d32f2f; color: #fff; font-size: 8px; font-weight: bold; width: 14px; height: 14px; line-height: 14px; border-radius: 50%; text-align: center; display: inline-block; z-index: 3; }
.flatpickr-day.selected .pk-fp-badge, .flatpickr-day:hover .pk-fp-badge { background: #fff; color: #d32f2f; }

@media (max-width: 992px) { .pk-calendar-custom-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .pk-calendar-custom-grid { grid-template-columns: 1fr; } }

/* -------------------- ΚΑΡΤΑ -------------------- */
.pk-calcard { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.08); border: 1px solid #d1d1d1; display: flex; flex-direction: column; font-family: var(--pk-font-family); transition: transform 0.2s, box-shadow 0.2s; height: 100%; position: relative; }
.pk-calcard:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); }
.pk-calcard-top { padding: 12px 15px; text-align: center; flex-shrink: 0; display: flex; flex-direction: column; justify-content: center; }
.pk-calcard-cats { display: flex; justify-content: center; gap: 5px; margin-bottom: 8px; flex-wrap: nowrap; overflow: hidden; height: 22px; }
.pk-calcard-cat-badge { background: #f0f0f0; color: #555; padding: 3px 8px; border-radius: 12px; font-size: 11px; font-weight: bold; text-transform: uppercase; white-space: nowrap; }
.pk-calcard-title { font-size: 15px; font-weight: 900; color: #222; line-height: 1.4; margin: 0 0 6px 0; height: 42px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pk-calcard-date { font-size: 12px; font-weight: bold; color: #0055cc; line-height: 1.4; height: 36px; display: flex; align-items: center; justify-content: center; text-align: center; }

.pk-calcard-media { position: relative; width: 100%; height: 460px; background: #f8f9fa; border-top: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pk-calcard-media img { position: relative; max-width: 92%; max-height: 92%; width: auto; height: auto; object-fit: contain; border-radius: 12px; box-shadow: 0 8px 25px rgba(0,0,0,0.25); z-index: 1; transition: transform 0.4s; }
.pk-calcard:hover .pk-calcard-media img { transform: scale(1.03); }
.pk-calcard-media:has(img) .pk-cal-no-img { display: none; }

.pk-calcard-status { display: inline-block; background: rgba(204, 0, 0, 0.9); color: #fff; padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.pk-calcard-bottom { padding: 10px 15px; background: #fafafa; flex-shrink: 0; height: 75px; display: flex; flex-direction: column; justify-content: center; gap: 4px; box-sizing: border-box; }
.pk-calcard-row { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; color: #444; }
.pk-calcard-link { color: #333; font-weight: 600; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pk-calcard-link:hover { color: #0055cc; }
.pk-cal-no-img { position: absolute; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #999; font-size: 14px; background: #f0f0f0; font-weight: bold; z-index: 0; }