/* --- Compact FullCalendar overrides --- */
#calendar { font-family: var(--font-body); }
#calendar .fc { font-size: .85rem; }

/* Toolbar */
#calendar .fc .fc-toolbar { gap: .5rem; padding: .25rem 0 !important; }
#calendar .fc .fc-toolbar-title { font-size: 1rem !important; font-weight: 600; }
#calendar .fc .fc-button {
    padding: .25rem .5rem !important;
    font-size: .8rem !important;
    border-radius: .5rem !important;
    border: 0 !important;
    background: var(--accent-main) !important;
}
#calendar .fc .fc-button:hover { background: var(--accent-hover) !important; }
#calendar .fc .fc-button-primary:not(:disabled).fc-button-active { background: var(--accent-hover) !important; }

/* Nagłówki dni / komórki */
#calendar .fc .fc-col-header-cell-cushion { padding: .25rem 0 !important; }
#calendar .fc .fc-daygrid-day-number { padding: .25rem !important; font-size: .75rem !important; }
#calendar .fc .fc-scrollgrid-section-liquid { height: auto !important; }

/* Widok tygodnia (time grid) – gęstsze sloty */
#calendar .fc .fc-timegrid-slot { height: 1.8em !important; }
#calendar .fc .fc-timegrid-axis-cushion,
#calendar .fc .fc-timegrid-slot-label-cushion {
    padding: 2px 4px !important;
    font-size: .75rem !important;
    color: #6b7280 !important; /* gray-500 */
}

/* „Pigułki” eventów: dzień + tydzień */
#calendar .fc .fc-daygrid-event,
#calendar .fc .fc-timegrid-event {
    border: 0 !important;
    border-left: 3px solid var(--accent-main) !important;
    background: #eff6ff !important;   /* bg-blue-50 */
    color: #1e3a8a !important;        /* text-blue-900 */
    padding: 2px 6px !important;
    border-radius: 8px !important;
}

/* Widok listy */
#calendar .fc .fc-list-day-cushion { background: transparent !important; }
#calendar .fc .fc-list-event-time { font-weight: 600 !important; }
#calendar .fc .fc-list-event-title { color: var(--text-main) !important; }
#calendar .fc .fc-daygrid-more-link { font-size: .75rem !important; }
/* ===== Compact booking widget (public view) ===== */
#calendar .cal-mini {
    font-family: var(--font-body, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif);
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
}

#calendar .cal-mini__bar {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 8px;
}
#calendar .cal-mini__title {
    font-weight: 600; color: #111827; /* gray-900 */
}
#calendar .cal-mini__nav {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 8px;
    border: 1px solid #e5e7eb; background: #f9fafb;
    cursor: pointer;
}
#calendar .cal-mini__nav:hover { background: #f3f4f6; }

#calendar .cal-mini__legend {
    font-size: .85rem; color: #6b7280; /* gray-500 */
    margin: 4px 0 8px 0;
}

#calendar .cal-mini__list { display: grid; gap: 10px; }

#calendar .cal-mini__day {
    border: 1px solid #eef2ff; /* indigo-50 */
    background: #f8fafc;       /* slate-50 */
    border-radius: 10px;
    padding: 10px;
}

#calendar .cal-mini__dayhead {
    display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px;
}
#calendar .cal-mini__dow { font-weight: 600; color: #1f2937; } /* gray-800 */
#calendar .cal-mini__date { color: #374151; } /* gray-700 */

#calendar .cal-mini__slots {
    display: flex; flex-wrap: wrap; gap: 8px;
}
#calendar .cal-mini__slots.is-empty { min-height: 28px; }

#calendar .cal-mini__chip {
    border: 0;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .9rem;
    background: #eef2ff;    /* indigo-50 */
    color: #3730a3;         /* indigo-800 */
    cursor: pointer;
}
#calendar .cal-mini__chip:hover { background: #e0e7ff; } /* indigo-100 */

#calendar .cal-mini__nope { color: #9ca3af; } /* gray-400 */

#calendar .cal-mini__empty {
    margin-top: 8px;
    font-size: .9rem; color: #6b7280;
}
.hidden { display: none; }

/* ===== Owner's FullCalendar – kompakt ===== */
#calendar .fc { font-size: .85rem; }
#calendar .fc-toolbar { gap: .5rem; }
#calendar .fc-toolbar-title { font-size: 1rem; font-weight: 600; }
#calendar .fc-button { padding: .25rem .5rem; font-size: .8rem; border-radius: .5rem; }
#calendar .fc-col-header-cell-cushion { padding: .25rem 0; }
#calendar .fc-daygrid-day-number { padding: .25rem; font-size: .75rem; }
#calendar .fc-daygrid-day-frame, #calendar .fc-timegrid-slot { padding: 0; }
#calendar .fc-scrollgrid-section-liquid { height: auto !important; }
#calendar .fc-daygrid-event, #calendar .fc-timegrid-event {
    border: 0; border-left: 3px solid #2563eb;
    background: #eff6ff; color: #1e3a8a;
    padding: 2px 6px; border-radius: 8px;
}
/* Mini booking widget – bardziej kompaktowy */
#calendar .cal-mini { padding: 8px; border-radius: 10px; }
#calendar .cal-mini__bar { margin-bottom: 6px; }
#calendar .cal-mini__title { font-size: .95rem; }
#calendar .cal-mini__legend { font-size: .8rem; margin: 2px 0 6px; }
#calendar .cal-mini__list { gap: 8px; }
#calendar .cal-mini__day { padding: 8px; border-radius: 10px; }
#calendar .cal-mini__dayhead { margin-bottom: 6px; }
#calendar .cal-mini__dow { font-size: .9rem; }
#calendar .cal-mini__date { font-size: .85rem; color:#6b7280; }

#calendar .cal-mini__slots { gap: 6px; }
#calendar .cal-mini__chip {
    padding: 4px 8px; font-size: .85rem; border-radius: 999px;
    background: #eef2ff; color:#3730a3; border:1px solid #e0e7ff;
}
#calendar .cal-mini__chip:hover { background:#e0e7ff; }
#calendar .cal-mini__chip .meta { opacity:.8; font-weight:500; margin-left:.25rem; }
#calendar .cal-mini__nope { color:#9ca3af; font-size:.85rem; }

#calendar .cal-mini__day.is-empty { display: none; }
/* ===== FullCalendar – widok WŁAŚCICIELA ===== */
#calendar.owner .fc-timegrid-event {
    background: #eef2ff !important;              /* wyraźniejsze tło */
    border: 0 !important;
    border-left: 4px solid #4f46e5 !important;   /* indigo-600 */
    color: #111827 !important;                   /* gray-900 */
    box-shadow: 0 1px 0 rgba(0,0,0,.05);
    border-radius: 10px !important;
}
#calendar.owner .fc-timegrid-event:hover { filter: saturate(1.1); }

/* treść slotu */
#calendar.owner .owner-slot__time {
    font-weight: 700;
    font-size: .92rem;
    line-height: 1.1;
}
#calendar.owner .owner-slot__meta {
    margin-top: 2px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
#calendar.owner .tag {
    background: #fff;
    border: 1px solid #e5e7eb;                   /* gray-200 */
    border-radius: 999px;
    padding: 2px 8px;
    font-size: .72rem;
    line-height: 1.2;
    color: #374151;                               /* gray-700 */
}

/* statusy */
#calendar.owner .fc-timegrid-event.is-booked {
    background: #ffe4e6 !important;              /* rose-100 */
    border-left-color: #e11d48 !important;       /* rose-600 */
}
#calendar.owner .fc-timegrid-event.is-past {
    opacity: .6;
}
/* ===== FullCalendar – widok trenera (czytelne kolory) ===== */
#calendar.owner .fc-timegrid-event,
#calendar.owner .fc-daygrid-event {
    background: #f3f4f6 !important;                 /* jasny szary, nie niebieski */
    border: 0 !important;
    border-left: 4px solid var(--accent-main) !important; /* akcent brandu */
    border-radius: 10px !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.06);
}

/* wymuś ciemny kolor tekstu wewnątrz eventu */
#calendar.owner .fc-timegrid-event .fc-event-main,
#calendar.owner .fc-daygrid-event .fc-event-main,
#calendar.owner .fc-timegrid-event .fc-event-time,
#calendar.owner .fc-timegrid-event .fc-event-title {
    color: #111827 !important;                      /* gray-900 */
}

/* „pigułki” z metadanymi */
#calendar.owner .owner-slot__time {
    font-weight: 700;
    font-size: .95rem;
    line-height: 1.1;
}
#calendar.owner .owner-slot__meta {
    margin-top: 2px; display: flex; gap: 6px; flex-wrap: wrap;
}
#calendar.owner .tag {
    background: #fff;
    border: 1px solid #e5e7eb;                      /* gray-200 */
    border-radius: 999px;
    padding: 2px 8px;
    font-size: .72rem; line-height: 1.2;
    color: #374151;                                  /* gray-700 */
}

#calendar.owner .fc-timegrid-event.is-booked {
    background: #fee2e2 !important;                 /* rose-100 */
    border-left-color: #e11d48 !important;          /* rose-600 */
}
#calendar.owner .fc-timegrid-event.is-past { opacity: .6; }

.clamp-1{
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden
}
.clamp-2{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}

.clamp-2{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.clamp-3{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.summary-reset { list-style: none; }
.summary-reset::-webkit-details-marker { display: none; }

#kalendarz {
    scroll-margin-top: 240px; /* dostosuj, np. 160–260px */
}
