/* Events archive (archive-events.php).
   Enqueued by artinfo_enqueue_page_styles() in inc/core/enqueue.php. */

:root {
    --brand-yellow: #FFC107;
    --brand-black: #121212;
}

.bg-brand-yellow { background-color: var(--brand-yellow) !important; }
.text-brand-yellow { color: var(--brand-yellow) !important; }
.bg-brand-black { background-color: var(--brand-black) !important; }
.text-brand-black { color: var(--brand-black) !important; }

.text-xs { font-size: .75rem !important; }
.rounded-xl { border-radius: .75rem !important; }
.rounded-2xl { border-radius: 1rem !important; }
.rounded-3xl { border-radius: 1.5rem !important; }

.soft-shadow { box-shadow: 0 10px 40px -10px rgba(0,0,0,.08) !important; }
.hover-lift { transition: transform .3s cubic-bezier(.25,.8,.25,1), box-shadow .3s ease; }
.hover-lift:hover { transform: translateY(-5px); box-shadow: 0 15px 30px -5px rgba(0,0,0,.12) !important; }
.hover-text-yellow:hover { color: var(--brand-yellow) !important; }
.transition { transition: all .3s ease; }

.evt-hero { padding: 60px 0 40px; text-align: center; background: #fff; }

.evt-search-wrapper { max-width: 500px; margin: 0 auto; position: relative; }
.evt-search-input {
    height: 55px; border-radius: 50px; padding-left: 55px; padding-right: 130px;
    border: 1px solid #e5e7eb; font-size: 1rem;
}
.evt-search-input:focus { border-color: var(--brand-yellow) !important; box-shadow: 0 0 0 .25rem rgba(255,193,7,.25) !important; }
.evt-search-icon { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); color: #6c757d; }
.evt-search-btn { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); height: 45px; }

.nav-pills-custom .nav-link {
    color: #666; font-weight: 600; border-radius: 50rem; padding: .6rem 1.5rem;
    border: 1px solid transparent; transition: all .3s ease; background: transparent;
}
.nav-pills-custom .nav-link:hover { color: var(--brand-black); background-color: #fff; border-color: #dee2e6; }
.nav-pills-custom .nav-link.active {
    background-color: var(--brand-black); color: var(--brand-yellow); box-shadow: 0 4px 10px rgba(0,0,0,.1);
}

.sidebar-sticky { position: sticky; top: 150px; }

.accordion-button:not(.collapsed) { background: #fffbf0; color: #000; font-weight: 700; }
.accordion-button:focus { box-shadow: none; border-color: var(--brand-yellow); }
.accordion-item { border: 1px solid #eee; border-radius: 12px !important; margin-bottom: 10px; overflow: hidden; }

.tax-search-input:focus { border-color: var(--brand-yellow) !important; box-shadow: none !important; }
.tax-checkbox-list { max-height: 200px; overflow-y: auto; padding: 12px; }
.tax-checkbox-list::-webkit-scrollbar { width: 4px; }
.tax-checkbox-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 4px; }

.btn-brand {
    background-color: var(--brand-yellow); color: #000; font-weight: 700; border: none;
    border-radius: 50px; padding: 8px 24px; transition: .3s;
}
.btn-brand:hover { background: #ffcd39; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255,193,7,.3); }

.event-card-img-wrapper { position: relative; overflow: hidden; }
.event-card-img-wrapper img { width: 100%; height: auto; display: block; transition: transform .5s ease; }
.event-card-img-fallback { aspect-ratio: 266 / 161; }
.event-card:hover .event-card-img-wrapper img { transform: scale(1.05); }

.evt-pagination ul.page-numbers { list-style: none; display: flex; gap: 8px; padding: 0; margin: 0; flex-wrap: wrap; }
.evt-pagination .page-numbers li { display: flex; }
.evt-pagination a.page-numbers, .evt-pagination span.page-numbers {
    width: 40px; height: 40px; border: 0; background: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; color: var(--brand-black);
    box-shadow: 0 1px 3px rgba(0,0,0,.08); font-weight: 700;
}
.evt-pagination a.page-numbers:hover { color: var(--brand-black); background: #f1f1f1; }
.evt-pagination span.page-numbers.current { background: var(--brand-black) !important; color: var(--brand-yellow) !important; }
.evt-pagination span.page-numbers.dots { box-shadow: none; background: transparent; }

.active-filter-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e5e7eb;
    color: var(--brand-black);
    font-size: .8rem;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 50px;
    text-decoration: none;
    transition: all .2s ease;
}
.active-filter-badge:hover {
    background: var(--brand-yellow);
    border-color: var(--brand-yellow);
    color: var(--brand-black);
}
.active-filter-badge i { font-size: .7rem; opacity: .6; }
.active-filter-badge:hover i { opacity: 1; }
