/* ============================================
   BASE CONTAINERS
   ============================================ */
.ter-kal-block-kalender {
    container-type: inline-size;
    /* container-name: tk-kalender-block; */
    width: 100%;
}
/* ============================================
   CONTENT LAYOUTS
   ============================================ */
.ter-kal-block-kalender .ter-kal-content,
.ter-kal-block-kalender .frontend_kalender {
    width: 100%;
}
/* ============================================
   ============================================ */
/* FullCalendar Event Styling */
.fc-event {
    --fc-list-event-dot-width: 2rem;
}
.fc-list-event-title {
    width: 100%;
}
/* Multimonth Body - Title */
div.fc-multimonth-body div.fc-daygrid-day div.fc-daygrid-day-body div {
    font-size: 0.8rem;
}
/* Daygrid Event */
.fc-daygrid-event div {
    font-size: 0.9rem;
}
/* ============================================================== */
/* Toolbar - Category Button Styles */
.kategoriezeile,
.fc-toolbar,
.fc-header-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 1rem;
}
.kategoriezeile .category-button {
    display: inline-flex;
    align-items: center;
    margin: 0.25rem;
    padding: 0.5rem;
    border-radius: 0.3rem;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    opacity: 1;
}
/* ter_kal_CHANGE: Visual feedback for active category filters */
.category-button:hover {
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.2) inset;
}
.category-button.ter_kal_filtered {
    opacity: 0.33;
    transition: opacity 0.4s;
    /*visibility: hidden;*/
    /*display: none;*/
}
/* ter_kal_CHANGE: Fade out filtered events */
.fc-event.ter-kal-hidden {
    opacity: 0 !important;
    pointer-events: none !important; /* Disable clicks on hidden events */
    transition: opacity 0.3s;
}

.kategoriezeile .category-button .dashicons {
    margin-right: 0.7rem;
    font-size: 1.6rem;
    vertical-align: middle;
    line-height: 1.2rem;
}

.kategoriezeile .kategorie_help_plus {
    margin-right: 0.25rem !important;
}
.fc-toolbar .fc-button {
    color: #8fa0ae;
    border-color: #8fa0ae;
    background-color: #ffffff;
}
.fc-header-toolbar button {
    padding: 0.2rem 0.2rem;
}
.fc-header-toolbar .fc-toolbar-center {
    font-size: 0.8rem;
}
.fc-footer-toolbar {
    font-size: 0.8rem;
    padding-top: 0;
}
.fc-footer-toolbar .fc-button-primary {
    color: #8fa0ae;
    border-color: #8fa0ae;
    background-color: #ffffff;
}
/* -------------------------------------------------------------- */
/* Google Calendar Event */
.fc .fc-google-event {
    border: 3px solid #9ecdff !important;
    /* Force text wrapping */
    white-space: normal !important;
    word-break: break-word !important;
    /* Optional spacing improvements */
    padding: 2px 5px !important;
    line-height: 1.3 !important;
}
/* Fix for FullCalendar's default flex container */
.fc .fc-event-main {
    flex-wrap: wrap !important;
    min-width: 0 !important; /* Allows text truncation in flex children */
}
/* Specific fix for time-grid views */
.fc-timegrid-event-harness-inset .fc-timegrid-event {
    overflow: visible !important;
}
/* Screen reader only / focus trap helper */
.tk-hidden-focus-trap {
    visibility: hidden;
    width: 0;
    height: 0;
    position: absolute;
    left: -9999px;
}
/* zusatz fur frontend/admin/ical kalender ---------------------------------*/
/*
admin_kalender
frontend_kalender
 frontend_kalender_ical
 */
/*.admin_kalender .kategoriezeile .category-button {
    cursor: pointer;
}
.frontend_kalender .kategoriezeile .category-button {
    cursor: default ;
}*/

.tk-magic-admin-btn a,
.frontend_kalender a {
    text-decoration: none !important;
}

.frontend_kalender .fc-event {
    cursor: pointer;
    white-space: normal !important;
    word-wrap: break-word;
    text-decoration: none !important;
}
.frontend_kalender .fc-event-time {
    display: none;
}

.admin_kalender .time_text {
    font-size: 0.6rem;
}
.admin_kalender .title_text_lw {
    width: 100%;
    font-size: 1rem;
    font-weight: 600
}
.admin_kalender .title_text {
    padding: 2px;
    border-radius: 3px;
    width: 100%;
    font-size: 0.9rem;
    white-space: break-spaces;
}
.admin_kalender .title_text_mmy {
    font-size: 0.7rem;
}
.admin_kalender .title_text_tgd {
    font-size: 1rem;
    font-weight: 600;
}
/* ------------------------------------------------------------------------------- */

/* Deprecated: Share button styling moved to termin_kalender_html5_dialog.css */

.tk_btn_separator {
    width: 100% !important;
    height: 1px !important;
    background: #ddd !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    border: none !important;
}

.tk-share-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 10px;
}

.tk-share-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px;
    border: 1px solid #ddd;
    background: #f7f7f7;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.tk-share-btn:hover {
    background: #fff;
    border-color: #2271b1;
    transform: translateY(-1px);
}

.tk-share-btn .dashicons {
    font-size: 20px;
}



/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */
@container (max-width: 768) {
    .admin_kalender .time_text {
        font-size: 0.5rem;
    }
    .admin_kalender .title_text_lw {
        font-size: 0.9rem;
    }
    .admin_kalender .title_text {
        padding: 1px;
        border-radius: 2px;
        font-size: 0.7rem;
        word-wrap: break-word;
    }
    .admin_kalender .title_text_mmy {
        /*font-size: 0.6rem;*/
    }
    .admin_kalender .title_text_tgd {
       /* font-size: 0.9rem; */
    }
}
/* Small containers (< 400px) - Widget areas */
@container (max-width: 420px) {
    /* Calendar & iCal Calendar */
    .frontend_kalender .fc-daygrid-week-number,
    .frontend_kalender .tk_kalender_button_text,
    .admin_kalender .fc-daygrid-week-number,
    .admin_kalender .tk_kalender_button_text {
        display: none;
    }
    .frontend_kalender .fc-list-event-time,
    .frontend_kalender .fc-list-event-title,
    .frontend_kalender .ter_kal_simple_calendar button,
    .frontend_kalender .ter_kal_google_calendar button,
    .frontend_kalender button,
    .frontend_kalender .fc-event,
    .frontend_kalender .fc-button,
    .frontend_kalender .fc,
    .admin_kalender .fc-list-event-time,
    .admin_kalender .fc-list-event-title,
    .admin_kalender .ter_kal_simple_calendar button,
    .admin_kalender .ter_kal_google_calendar button,
    .admin_kalender button,
    .admin_kalender .fc-event,
    .admin_kalender .fc-button,
    .admin_kalender .fc {
        font-size: 0.7rem;
        --fc-list-event-dot-width: 1rem;
    }


    .frontend_kalender .fc-event .fc-event-title,
    .admin_kalender .fc-event .fc-event-title {
        font-size: 0.6rem;
        line-height: 0.65rem;
        word-wrap: break-word;
    }

    .frontend_kalender .fc .fc-toolbar-title,
    .admin_kalender .fc .fc-toolbar-title {
        font-size: 1rem !important;
    }
    .frontend_kalender .kategoriezeile .category-button,
    .admin_kalender .kategoriezeile .category-button {
        padding: 0.2rem;
        font-size: 0.8rem;
        margin: 0.15rem;
    }
    .frontend_kalender .kategoriezeile .category-button .dashicons,
    .admin_kalender .kategoriezeile .category-button .dashicons {
        font-size: 1.4rem;
        margin: 0.2rem;
    }

    .admin_kalender .time_text {
        font-size: 0.4rem;
    }
    .admin_kalender .title_text_lw {
        font-size: 0.8rem;
    }
    .admin_kalender .title_text {
        padding: 1px;
        border-radius: 2px;
        font-size: 0.7rem;
    }
    .admin_kalender .title_text_mmy {
        font-size: 0.6rem;
    }
    .admin_kalender .title_text_tgd {
        font-size: 0.8rem;
    }

}

/* ------------------------- */
@container (max-width: 380px) {
    .frontend_kalender .fc-list-event-time,
    .frontend_kalender .fc-list-event-title,
    .frontend_kalender .fc-event .fc-event-title,
    .admin_kalender .fc-list-event-time,
    .admin_kalender .fc-list-event-title,
    .admin_kalender .fc-event .fc-event-title {
        font-size: 0.55rem;
        line-height: 0.5rem;
        padding: 0.1rem;
        border-radius: 0.2rem;
        word-wrap: normal;
    }
}
/* ------------------------- */
@container (max-width: 320px) {
    .frontend_kalender .fc,
    .admin_kalender .fc {
        font-size: 0.45rem;
    }
    .frontend_kalender .fc-event,
    .admin_kalender .fc-event {
        --fc-list-event-dot-width: 0.7rem;
    }
    .frontend_kalender .fc-event .fc-event-title,
    .admin_kalender .fc-event .fc-event-title {
        font-size: 0.45rem;
        line-height: 0.4rem;
    }
}
/* ------------------------- */
