﻿/* ==========================================
   Event Center Widget
   ========================================== */

#eventsControl {
    width: 100%;
    max-width: 650px;
    height: auto;
    margin: 0 0 30px 0;
    padding: 18px;
    display: block;
    position: relative;
    box-sizing: border-box;
    background: #f5f7fb;
    border: 1px solid #d3dbe8;
    border-radius: 8px;
}

    /* ==========================================
   Filters
   ========================================== */


    #eventsControl #filters {
        width: 100%;
        margin: 0 0 24px 0;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px 18px;
        color: #222;
    }

        #eventsControl #filters .filter-field {
            display: flex;
            flex-direction: column;
            min-width: 0;
        }

        #eventsControl #filters .filter-search {
            grid-column: 1 / -1;
        }

        #eventsControl #filters label {
            margin: 0 0 6px 0;
            color: #222;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.3;
        }

        #eventsControl #filters .filter-help {
            margin: -2px 0 8px 0;
            color: #222;
            font-size: 12px;
            font-weight: 600;
            line-height: 1.3;
        }

        #eventsControl #filters .input {
            position: relative;
            width: 100%;
        }

        #eventsControl #filters input,
        #eventsControl #filters select {
            width: 100%;
            height: 38px;
            min-height: 38px;
            margin: 0;
            padding: 7px 10px;
            box-sizing: border-box;
            background: #fff;
            border: 1px solid #bfc7d2;
            border-radius: 5px;
            color: #222;
            font-size: 14px;
            line-height: 1.2;
        }

        #eventsControl #filters #input-title {
            padding-right: 42px;
        }

        #eventsControl #filters .input-search-submit {
            position: absolute;
            right: 5px;
            bottom: 0;
            width: 38px;
            min-width: 38px;
            height: 38px;
            min-height: 38px;
            margin: 0;
            padding: 0;
            background: transparent;
            border: 0;
            box-shadow: none;
            color: #222;
            font-size: 20px;
            cursor: pointer;
        }

        #eventsControl #filters .calendar-icon {
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            color: #000;
            font-size: 20px;
            line-height: 1;
            pointer-events: none;
        }

        #eventsControl #filters #input-date {
            padding-right: 42px;
        }

        /* Filter action buttons */
        #eventsControl #filters .filter-actions {
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px 18px;
        }

            #eventsControl #filters .filter-actions button {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: 38px;
                margin: 0;
                padding: 7px 16px;
                background: #2f4fa3;
                border: 1px solid #254286;
                border-radius: 6px;
                color: #fff;
                font-size: 14px;
                font-weight: bold;
                line-height: 1.2;
                text-align: center;
                text-decoration: none;
                box-shadow: 0 2px 4px rgba(0,0,0,.25);
                cursor: pointer;
            }

                #eventsControl #filters .filter-actions button:hover {
                    background: #263f86;
                }

        /* Accessible focus states */
        #eventsControl #filters input:focus,
        #eventsControl #filters select:focus,
        #eventsControl #filters button:focus {
            outline: 3px solid #ffbf47;
            outline-offset: 2px;
        }

    /* ==========================================
   Results
   ========================================== */

    #eventsControl #data-window {
        width: 100%;
        display: block;
        overflow: visible;
        background: transparent;
    }

    #eventsControl #data {
        width: 100%;
        display: block;
        padding: 0;
        margin: 24px 0 0 0;
        overflow: visible;
        max-height: none;
        font-size: 14px;
    }

    /* Event cards */
    #eventsControl .row,
    #eventsControl .no-events,
    .no-events {
        width: 100%;
        max-width: 620px;
        display: flex;
        align-items: flex-start;
        gap: 15px;
        margin: 0 0 16px 0 !important;
        padding: 20px !important;
        float: none;
        box-sizing: border-box;
        background: #fff;
        border: 1px solid #d6dce5;
        border-radius: 10px;
        box-shadow: 0 1px 3px rgba(0,0,0,.05);
    }

        /* Date badge */
        #eventsControl .row .date {
            flex: 0 0 60px;
            width: 60px;
        }

        #eventsControl .row .date-info {
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #005696;
            color: #fff;
            border-radius: 8px;
            box-shadow: 0 0 8px rgba(0,0,0,.35);
            font-size: 15px;
            font-weight: bold;
            line-height: 17px;
            text-align: center;
        }

        /* Event text */
        #eventsControl .row .info {
            flex: 1;
            padding: 0;
        }

    #eventsControl #data p {
        margin: 0;
        padding: 0;
        line-height: 1.35;
    }

    #eventsControl #data .title {
        margin: 0 0 10px 0 !important;
        padding: 0 0 8px 0;
        color: #1f55b5;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.2;
        border-bottom: 1px solid #d6dce5;
    }

        #eventsControl #data .title a {
            color: #1f55b5;
            text-decoration: none;
        }

            #eventsControl #data .title a:hover {
                text-decoration: underline;
            }

    /* Event links */
    #eventsControl #data .icons {
        margin-top: 8px;
    }

    #eventsControl .icon {
        display: inline-block;
        margin-right: 16px;
        font-weight: bold;
    }

        #eventsControl .icon a {
            color: #1f55b5;
            text-decoration: none;
        }

            #eventsControl .icon a:hover {
                text-decoration: underline;
            }

    /* Loader */
    #eventsControl #loader {
        position: relative;
        top: auto;
        left: auto;
        margin: 20px auto;
        text-align: center;
    }

/* No events message */
.no-events {
    display: block;
    font-size: 18px;
    font-weight: bold;
}

/* ==========================================
   Mobile
   ========================================== */

@media (max-width: 700px) {
    #eventsControl {
        max-width: 100%;
    }

        #eventsControl #filters,
        #eventsControl #filters .filter-actions {
            display: block;
        }

            #eventsControl #filters .filter-field,
            #eventsControl #filters .filter-actions button {
                width: 100%;
                margin-bottom: 12px;
            }

        #eventsControl .row {
            max-width: 100%;
        }
}

/* ==========================================
   Print
   ========================================== */

@media print {
    #eventsControl #filters {
        display: none;
    }

    #eventsControl .row .date {
        display: none;
    }
}
