/* --- Main Container --- */
.events-container {
    margin: 0 auto;
    padding: 40px 20px;
    background: #f0ede5;
}

/* --- Search & Filter Bar --- */
.search-filter-bar {
    background-color: #ffffff;
    border-radius: 4px;
    padding: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    margin-bottom: 30px;
}

.search-input-group {
    border: none;
    background: transparent;
}

.search-input-group input {
    border: none;
    box-shadow: none;
    font-size: 16px;
    color: #1a1a1a;
}

.search-input-group input::placeholder {
    color: #999;
}

.search-input-group .input-group-text {
    background: transparent;
    border: none;
    color: #999;
}

.btn-find {
    background-color: #e66d4e;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 20px;
    border-radius: 4px;
    transition: 0.3s;
    font-family: var(--font-01);
}

.btn-find:hover {
    background-color: #963d2c;
    color: #ffffff;
}

.view-toggles a {
    color: #6b6b6b;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 10px;
}

.view-toggles a.active {
    color: #1a1a1a;
    border-bottom: 2px solid #1a1a1a;
}

/* --- Navigation Toolbar --- */
.nav-toolbar {
    margin-bottom: 30px;
}

.nav-toolbar .icon-btn {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #6b6b6b;
    padding: 5px;
}

.btn-today {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    padding: 5px 15px;
    border-radius: 4px;
    color: #6b6b6b;
    font-family: var(--font-03);
}

.upcoming-dropdown {
    font-size: 22px;
    font-weight: 500;
    color: #1a1a1a;
    text-decoration: none;
    font-family: var(--font-03);
}

/* --- Month Header --- */
.month-header {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    font-family: var(--font-02);
}

/* --- Event List Items --- */
.event-item {
    padding: 30px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transition: background-color 0.2s ease;
}

.event-item:hover {
    background-color: rgba(255,255,255,0.2);
}

.event-date-col {
    text-align: center;
}

.event-day-text {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: #6b6b6b;
    letter-spacing: 1px;
    display: block;
    line-height: 1;
    margin-bottom: 5px;
    font-family: var(--font-03);
}

.event-date-num {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #1a1a1a;
    font-family: var(--font-02);
}

.event-meta {
    font-size: 12px;
    color: #6b6b6b;
    margin-bottom: 8px;
    font-weight: 500;
    font-family: var(--font-02);
}

.event-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
    line-height: 1.2;
    font-family: var(--font-02);
}
.event-title a{
    color: #1a1a1a;
}
.event-title a:hover{
    color: #963d2c;
}
.event-venue {
    font-size: 14px;
    color: #1a1a1a;
    margin-bottom: 12px;
    font-family: var(--font-03);
}

.event-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #6b6b6b;
    margin-bottom: 15px;
    max-width: 90%;
    font-family: var(--font-02);
}

.event-price {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    font-family: var(--font-03);
}

.event-image {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 4px;
}
.hidden-date-input {
    pointer-events: none;
    z-index: -1;
}
/* --- Footer Pagination --- */
.footer-pagination {
    padding: 40px 0;
    font-size: 16px;
    font-weight: 600;
    font-family: var(--font-03);
}

.footer-pagination a {
    text-decoration: none;
    color: #6b6b6b;
}

.footer-pagination a.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.btn-subscribe {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    color: #1a1a1a;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 15px;
    border-radius: 4px;
}