/* site-specific styles */
*, *:before, *:after {
        box-sizing: border-box;
    }
    .filter-controls {
        margin-bottom: 20px;
    }
    .filter-row {
        display: flex;
        gap: 12px; /* Creates space between filters */
    }
    .filter-item {
        display: flex;
        flex-direction: row;
        align-items: center;
        flex-grow: 1; /* Allows each filter to grow and fill space */
    }
    .search-container {
        display: flex;
        margin-bottom: 15px; /* Reduced space between search and filters */
    }
    .filter-controls label {
        font-weight: bold;
        margin-right: 8px;
        flex-shrink: 0;
    }
    .filter-controls select {
        padding: 6px 6px; /* Match vertical padding for alignment */
        border-radius: 4px;
        width: 100%;
    }
    .filter-controls input[type="text"] {
        flex-grow: 1; 
        padding: 7px 6px;
        border: 1px solid black;
        border-radius: 4px;
        /* Force reset of vertical margins and set right margin */
        margin: 0 5px 0 0 !important; 
    }
    .filter-controls button {
        flex-shrink: 0; /* Prevent button from wrapping */
        padding: 7px 10px; /* Match input height */
        background-color: #005691;
        color: white;
        border-radius: 4px;
        cursor: pointer; /* Changes cursor on hover */
        border: none;
    }
    .speaker-title {
        color: #555;
    }
    .tag {
        display: inline-block;
        background: #e0e0e0;
        border-radius: 4px;
        padding: 3px 8px;
        margin-right: 4px;
        margin-top: 4px;
        color: #333;
    }
    .description-content {
        max-height: 85px !important;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
        position: relative;
    }
    .description-content.expanded {
        max-height: 400px !important;
        transition: max-height 0.5s ease-in;
    }
    .read-more-link {
        cursor: pointer;
    }
    .talk-title {
        font-size: 1.2rem; 
    }