/* ProLutas Agenda — public event discovery */
.agenda-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 680px;
    padding: 168px 0 118px;
    display: flex;
    align-items: center;
    background-color: #11181c !important;
    background-image:
        linear-gradient(90deg, rgba(7, 11, 13, .95) 0%, rgba(7, 11, 13, .78) 38%, rgba(7, 11, 13, .26) 72%, rgba(7, 11, 13, .1) 100%),
        url('/assets/img/hero.png') !important;
    background-position: center 38% !important;
    background-size: cover !important;
    color: #fff;
}
.agenda-hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: auto 0 0;
    height: 170px;
    background: linear-gradient(transparent, rgba(7, 11, 13, .72));
}
.agenda-orbit { position: absolute; border: 1px solid rgba(230, 55, 79, .2); border-radius: 50%; pointer-events: none; }
.agenda-orbit-one { width: 560px; height: 560px; right: -160px; top: -210px; }
.agenda-orbit-two { width: 360px; height: 360px; right: -60px; top: -110px; }
.agenda-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;
    padding: 8px 15px;
    border: 1px solid rgba(230, 55, 79, .48);
    border-radius: 999px;
    background: rgba(7, 11, 13, .66);
    color: #ff5a70;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.agenda-hero h1 {
    max-width: 820px;
    margin: 0;
    color: #fff !important;
    font: 800 clamp(3.3rem, 6.2vw, 6.25rem)/.88 'Barlow Condensed', 'Oswald', sans-serif;
    letter-spacing: .01em;
    text-transform: uppercase;
}
.agenda-hero h1 span { display: block; color: #e6374f; text-shadow: 0 12px 42px rgba(200, 16, 46, .22); }
.agenda-hero p { max-width: 650px; margin: 28px 0 0; color: rgba(255, 255, 255, .78) !important; font-size: 1.04rem; line-height: 1.75; }
.agenda-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.agenda-primary-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 8px;
    background: #c8102e;
    box-shadow: 0 12px 28px rgba(200, 16, 46, .26);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}
.agenda-primary-action:hover { background: #8f0c21; color: #fff; transform: translateY(-2px); }
.agenda-hero-actions > span { color: rgba(255, 255, 255, .66); font-size: .82rem; }
.agenda-hero-actions > span i { margin-right: 7px; color: #ff5a70; }
.agenda-live-panel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
    padding: 34px 24px 22px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    background: rgba(17, 24, 28, .84);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .34);
    backdrop-filter: blur(16px);
}
.agenda-live-label {
    position: absolute;
    top: -13px;
    left: 22px;
    padding: 6px 12px;
    border: 1px solid rgba(64, 218, 121, .34);
    border-radius: 30px;
    background: #10241a;
    color: #82e9a7;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.agenda-live-label i,
.agenda-status i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.agenda-live-panel div { text-align: center; }
.agenda-live-panel div + div { border-left: 1px solid rgba(255, 255, 255, .12); }
.agenda-live-panel strong { display: block; color: #fff; font: 700 2.25rem/1 'Oswald', sans-serif; }
.agenda-live-panel small { display: block; margin-top: 8px; color: rgba(255, 255, 255, .58); font-size: .64rem; text-transform: uppercase; }

.agenda-catalog { min-height: 650px; padding: 0 0 110px; background: #f4f6f8 !important; color: #182026; }
.agenda-filter-panel {
    position: relative;
    z-index: 4;
    margin-top: -42px;
    padding: 20px;
    border: 1px solid #e1e6ea;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 54px rgba(17, 24, 28, .14);
}
.agenda-search { display: flex; align-items: center; height: 62px; border: 1px solid #cdd4da; border-radius: 9px; background: #f8fafb; }
.agenda-search > i { margin-left: 20px; color: #c8102e; }
.agenda-search input { flex: 1; min-width: 0; height: 100%; padding: 0 18px; border: 0; outline: 0; background: transparent; color: #182026; font-size: .95rem; }
.agenda-search input::placeholder { color: #7c8790; }
.agenda-search:focus-within { border-color: #c8102e; box-shadow: 0 0 0 3px rgba(200, 16, 46, .1); }
.agenda-search button { align-self: stretch; margin: 6px; padding: 0 24px; border: 0; border-radius: 7px; background: #c8102e; color: #fff; font-weight: 800; }
.agenda-search button:hover { background: #8f0c21; }
.agenda-search button i { margin-left: 9px; }
.agenda-filter-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.agenda-filter-grid label { min-width: 0; }
.agenda-filter-grid label span { display: block; margin: 0 0 7px 3px; color: #66717a; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.agenda-filter-grid select { width: 100%; height: 46px; padding: 0 12px; border: 1px solid #cdd4da; border-radius: 7px; outline: none; background: #fff; color: #27323a; font-size: .78rem; }
.agenda-filter-grid select:focus { border-color: #c8102e; box-shadow: 0 0 0 3px rgba(200, 16, 46, .08); }
.agenda-filter-footer { display: flex; align-items: center; gap: 18px; margin-top: 14px; }
.agenda-apply { padding: 10px 17px; border: 1px solid #c8102e; border-radius: 7px; background: #fff; color: #c8102e; font-size: .78rem; font-weight: 800; }
.agenda-apply:hover { background: #fff1f3; }
.agenda-filter-footer > a { color: #66717a; font-size: .76rem; text-decoration: none; }
.agenda-filter-footer > a b { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-left: 5px; border-radius: 50%; background: #c8102e; color: #fff; }

.agenda-results-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 70px 0 28px; }
.agenda-results-head span { color: #c8102e; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.agenda-results-head h2 { margin: 6px 0 0; color: #182026 !important; font: 700 clamp(2rem, 4vw, 3.3rem)/1 'Barlow Condensed', 'Oswald', sans-serif; text-transform: uppercase; }
.agenda-results-head p { max-width: 420px; margin: 0; color: #66717a !important; font-size: .82rem; text-align: right; }
.agenda-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.agenda-card { overflow: hidden; border: 1px solid #e1e6ea; border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(17, 24, 28, .08); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.agenda-card:hover { transform: translateY(-6px); border-color: #efb4be; box-shadow: 0 20px 44px rgba(17, 24, 28, .13); }
.agenda-card-featured { grid-column: span 2; }
.agenda-card-media { display: block; position: relative; height: 245px; overflow: hidden; background: #11181c; }
.agenda-card-media::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(6, 10, 12, .52)), var(--agenda-cover); background-position: center; background-size: cover; transition: transform .55s ease; }
.agenda-card:hover .agenda-card-media::before { transform: scale(1.045); }
.agenda-card-featured .agenda-card-media { height: 330px; }
.agenda-date-tile { position: absolute; top: 18px; left: 18px; display: grid; place-items: center; width: 58px; height: 64px; border-radius: 7px; background: #fff; color: #182026; box-shadow: 0 8px 22px rgba(0, 0, 0, .18); }
.agenda-date-tile strong { font: 800 1.65rem/1 'Oswald', sans-serif; }
.agenda-date-tile span { color: #c8102e; font-size: .65rem; font-weight: 900; }
.agenda-status { position: absolute; top: 19px; right: 18px; padding: 7px 10px; border: 1px solid currentColor; border-radius: 30px; background: rgba(8, 12, 14, .78); backdrop-filter: blur(8px); font-size: .62rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.agenda-status.is-open { color: #7ce5a1; }
.agenda-status.is-soon { color: #ffd166; }
.agenda-status.is-closed { color: #d6d9dc; }
.agenda-featured { position: absolute; left: 18px; bottom: 17px; padding: 7px 11px; border-radius: 6px; background: #c8102e; color: #fff; font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.agenda-card-body { padding: 24px; }
.agenda-org-row { display: flex; align-items: center; gap: 10px; }
.agenda-org-mark { display: grid; place-items: center; overflow: hidden; width: 40px; height: 40px; border: 1px solid #e1e6ea; border-radius: 50%; background: #f8fafb; }
.agenda-org-mark img { width: 100%; height: 100%; object-fit: contain; }
.agenda-org-mark span { color: #c8102e; font: 700 1rem 'Oswald', sans-serif; }
.agenda-org-row > div:nth-child(2) { min-width: 0; flex: 1; }
.agenda-org-row small,
.agenda-org-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agenda-org-row small { color: #7c8790; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.agenda-org-row strong { margin-top: 2px; color: #27323a; font-size: .78rem; }
.agenda-verified { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #c8102e; color: #fff; font-size: .6rem; }
.agenda-modalities { margin-top: 20px; color: #c8102e; font-size: .67rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.agenda-modalities i { margin-right: 7px; }
.agenda-card h3 { min-height: 56px; margin: 10px 0 17px; font: 700 1.55rem/1.06 'Barlow Condensed', 'Oswald', sans-serif; text-transform: uppercase; }
.agenda-card-featured h3 { font-size: 2rem; }
.agenda-card h3 a { color: #182026; text-decoration: none; }
.agenda-card h3 a:hover { color: #c8102e; }
.agenda-meta { display: grid; gap: 8px; color: #66717a; font-size: .75rem; }
.agenda-meta span { display: flex; align-items: center; gap: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agenda-meta i { width: 13px; color: #c8102e; text-align: center; }
.agenda-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 21px; padding-top: 18px; border-top: 1px solid #e1e6ea; }
.agenda-card-footer > div:first-child small,
.agenda-card-footer > div:first-child strong { display: block; }
.agenda-card-footer small { color: #7c8790; font-size: .59rem; text-transform: uppercase; }
.agenda-card-footer strong { color: #182026; font: 700 1.28rem 'Oswald', sans-serif; }
.agenda-card-actions { display: flex; align-items: center; gap: 8px; }
.agenda-more,
.agenda-register { padding: 10px 12px; border-radius: 7px; font-size: .7rem; font-weight: 800; text-decoration: none; }
.agenda-more { border: 1px solid #cdd4da; color: #27323a; }
.agenda-more:hover { border-color: #c8102e; color: #c8102e; }
.agenda-register { background: #c8102e; color: #fff; }
.agenda-register:hover { background: #8f0c21; color: #fff; }
.agenda-empty { padding: 80px 20px; border: 1px dashed #cdd4da; border-radius: 14px; background: #fff; text-align: center; }
.agenda-empty > span { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 20px; border-radius: 50%; background: #fff1f3; color: #c8102e; font-size: 1.5rem; }
.agenda-empty h3 { color: #182026; text-transform: uppercase; }
.agenda-empty p { color: #66717a; }
.agenda-empty a { color: #c8102e; }
.agenda-pagination { display: flex; justify-content: center; gap: 7px; margin-top: 48px; }
.agenda-pagination a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #cdd4da; border-radius: 7px; background: #fff; color: #27323a; text-decoration: none; }
.agenda-pagination a:hover,
.agenda-pagination a.active { border-color: #c8102e; background: #c8102e; color: #fff; }

@media (max-width: 1199.98px) {
    .agenda-filter-grid { grid-template-columns: repeat(3, 1fr); }
    .agenda-grid { grid-template-columns: repeat(2, 1fr); }
    .agenda-card-featured { grid-column: span 2; }
}
@media (max-width: 991.98px) {
    .agenda-hero { min-height: auto; padding: 145px 0 105px; }
    .agenda-live-panel { margin-top: 48px; }
}
@media (max-width: 767.98px) {
    .agenda-hero { padding: 130px 0 92px; background-position: 58% center !important; }
    .agenda-hero h1 { font-size: clamp(3rem, 16vw, 5rem); }
    .agenda-hero-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
    .agenda-filter-panel { margin-top: -28px; padding: 14px; }
    .agenda-search button { width: 48px; padding: 0; font-size: 0; }
    .agenda-search button i { margin: 0; font-size: .9rem; }
    .agenda-filter-grid { grid-template-columns: 1fr 1fr; }
    .agenda-results-head { align-items: flex-start; flex-direction: column; margin-top: 52px; }
    .agenda-results-head p { text-align: left; }
    .agenda-grid { grid-template-columns: 1fr; }
    .agenda-card-featured { grid-column: auto; }
    .agenda-card-featured .agenda-card-media,
    .agenda-card-media { height: 230px; }
    .agenda-card-featured h3 { font-size: 1.55rem; }
}
@media (max-width: 479.98px) {
    .agenda-filter-grid { grid-template-columns: 1fr; }
    .agenda-live-panel { padding-inline: 12px; }
    .agenda-live-panel strong { font-size: 1.75rem; }
    .agenda-live-panel small { font-size: .55rem; }
    .agenda-card-footer { align-items: flex-start; flex-direction: column; }
    .agenda-card-actions { width: 100%; }
    .agenda-card-actions a { flex: 1; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .agenda-card,
    .agenda-card-media::before,
    .agenda-primary-action { transition: none; }
}
