/* Calendar v3 – centred month, Prev left, Next right (theme #3f51b5) */

#page-calendar-view { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important; }

/* ---------- Header: Prev left, month centre, Next right (no background) ---------- */
#page-calendar-view .calendar-controls {
    display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important;
    margin: 0 0 18px 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important;
}
#page-calendar-view .calendar-controls .hide { display: none !important; }
#page-calendar-view .calendar-controls .current {
    flex: 1 1 auto !important; margin: 0 !important;
    font-size: 30px !important; font-weight: 800 !important; letter-spacing: -.02em !important; line-height: 1.2 !important;
    text-align: center !important; color: #3f51b5 !important;
}
#page-calendar-view .calendar-controls .current::after { display: none !important; }

/* FIX: Prev / Next were stretching – force them to fit their text */
#page-calendar-view .calendar-controls .previous, #page-calendar-view .calendar-controls .next, #page-calendar-view .calendar-controls a, #page-calendar-view .arrow_link {
    flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
    margin: 0 !important; padding: 8px 14px !important;
    font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important; white-space: nowrap !important;
    color: #3f51b5 !important; background: #fff !important;
    border: 1px solid #d5d9eb !important; border-radius: 8px !important;
    text-decoration: none !important; box-shadow: none !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
#page-calendar-view .arrow_link .arrow, #page-calendar-view .arrow_link .arrow_text {
    width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}
#page-calendar-view .arrow_link .arrow { font-size: 10px !important; }
#page-calendar-view .calendar-controls a:hover, #page-calendar-view .arrow_link:hover {
    color: #fff !important; background: #3f51b5 !important; border-color: #3f51b5 !important; transform: none !important; box-shadow: none !important;
}

/* ---------- Grid ---------- */
#page-calendar-view .calendarmonth {
    width: 100% !important; table-layout: fixed !important; border-collapse: separate !important; border-spacing: 0 !important;
    background: #fff !important; border: 1px solid #e4e7ee !important; border-radius: 10px !important; overflow: hidden !important;
    box-shadow: none !important;
}
#page-calendar-view .calendarmonth th {
    padding: 12px 14px !important; font-size: 11.5px !important; font-weight: 600 !important; letter-spacing: .08em !important;
    text-transform: uppercase !important; text-align: left !important; color: #6b7280 !important;
    background: #fafbfc !important; border: 0 !important; border-bottom: 1px solid #e4e7ee !important;
}
#page-calendar-view .calendarmonth td {
    height: 124px !important; min-height: 150px !important; padding: 10px 12px !important; vertical-align: top !important;
    background: #fff !important; border: 0 !important;
    border-right: 1px solid #edeff4 !important; border-bottom: 1px solid #edeff4 !important;
    transition: background .15s ease !important;
}
#page-calendar-view .calendarmonth td:last-child { border-right: 0 !important; }
#page-calendar-view .calendarmonth tr:last-child td { border-bottom: 0 !important; }
#page-calendar-view .calendarmonth td:hover { background: #f8f9fd !important; }
#page-calendar-view .calendarmonth td.weekend { background: #fff !important; }
#page-calendar-view .calendarmonth td.dayblank { background: #f7f8fa !important; }
#page-calendar-view .calendarmonth td.dayblank .day-number-circle,
#page-calendar-view .calendarmonth td.dayblank .dayno { color: #b9bfcb !important; }

/* Day number – plain bold numerals */
#page-calendar-view .calendarmonth .day-number-circle, #page-calendar-view .calendarmonth .dayno {
    display: inline-flex !important; align-items: center !important; justify-content: flex-start !important;
    min-width: 0 !important; height: auto !important; margin-bottom: 8px !important; padding: 0 !important;
    font-size: 15px !important; font-weight: 700 !important; color: #1f2937 !important;
    background: none !important; border-radius: 0 !important; box-shadow: none !important;
}

#page-calendar-view .calendarmonth td.today {
    background: #fffdf5 !important;
    box-shadow: inset 0 3px 0 #f4b400 !important;
}

#page-calendar-view .calendarmonth td.today .day-number-circle,
#page-calendar-view .calendarmonth td.today .dayno {
    color: #3f51b5 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Events – single colour */
#page-calendar-view .calendarmonth [data-region="event-item"], #page-calendar-view .calendarmonth .events-container li {
    list-style: none !important; margin: 4px 0 !important; padding: 5px 9px !important;
    font-size: 12px !important; font-weight: 600 !important; line-height: 1.3 !important;
    color: #303f9f !important; background: #eceefa !important; border: 0 !important; border-radius: 6px !important;
    overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
    transition: background .15s ease !important;
}
#page-calendar-view .calendarmonth [data-region="event-item"]:hover { background: #dfe2f6 !important; }
#page-calendar-view .calendarmonth td.today [data-region="event-item"] { background: #fff !important; }
#page-calendar-view .calendarmonth a { color: inherit !important; text-decoration: none !important; }

@media (max-width: 768px) {
    #page-calendar-view .calendar-controls { gap: 6px !important; }
    #page-calendar-view .calendar-controls .current { font-size: 20px !important; }
    #page-calendar-view .calendar-controls .previous, #page-calendar-view .calendar-controls .next, #page-calendar-view .calendar-controls a, #page-calendar-view .arrow_link { padding: 6px 10px !important; font-size: 11px !important; }
    #page-calendar-view .calendarmonth td { height: 80px !important; min-height: 80px !important; padding: 5px !important; }
    #page-calendar-view .calendarmonth th { font-size: 10px !important; padding: 8px 4px !important; letter-spacing: .04em !important; }
    #page-calendar-view .calendarmonth td.today .day-number-circle::after { display: none !important; }
}