body.admin-body { padding: 0 !important; background: #f3f8f4; }
.public-events { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; color: #153b2c; }
.public-events a:not(.btn):not(.public-event-link) { color: #207a46; text-decoration: none; }
.public-events a:focus-visible { outline: 3px solid #207a46; outline-offset: 4px; }
.events-header { padding: 22px 0; border-bottom: 1px solid #dbe8de; }
.events-brand { display: flex; align-items: center; gap: 12px; color: #153b2c !important; font-size: 19px; font-weight: 700; min-width: 0; }
.events-brand img { object-fit: contain; flex-shrink: 0; }
.events-brand span { overflow-wrap: anywhere; }
.events-login, .events-back { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; }
.events-main { flex: 1; padding-top: 32px; padding-bottom: 64px; }
.events-back { font-size: 14px; margin-bottom: 36px; }
.events-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .16em; font-weight: 700; color: #207a46; }
.events-main h1 { font-family: 'Arimo', Arial, sans-serif !important; font-size: clamp(36px, 5vw, 64px); font-weight: 800; letter-spacing: -.04em; color: #153b2c; }
.events-main h1 span { color: #207a46; }
.events-description { color: #506c5e; font-size: 18px; line-height: 1.8; }
.events-empty { margin-top: 36px; padding: 64px 24px; border: 1px dashed #c3d8c9; border-radius: 12px; text-align: center; background: #fff; }
.events-empty > i { font-size: 48px; color: #207a46; margin-bottom: 20px; display: block; }
.events-empty h2 { font-family: inherit !important; font-size: 22px; color: #153b2c; font-weight: 700; }
.events-empty p { color: #587466; max-width: 400px; margin: 12px auto 0; }
.events-footer { padding: 22px 0; border-top: 1px solid #dbe8de; font-size: 12px; color: #587466; }
@media (max-width: 767.98px) { .events-brand { font-size: 16px; } .events-header { padding: 16px 0; } .events-main { padding-top: 20px; padding-bottom: 32px; } .events-back { margin-bottom: 24px; } .events-description { font-size: 16px; } .events-empty { padding: 40px 20px; } }

.public-event-card { border:1px solid #dbe8de; border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.public-event-photo { width:100%; height:210px; object-fit:cover; }
.public-event-placeholder { height:210px; display:grid; place-items:center; background:#eaf5ed; color:#207a46; font-size:64px; }
.public-event-card-body { padding:24px; flex:1; display:flex; flex-direction:column; }
.public-event-card h2 { font-family: 'Arimo', Arial, sans-serif !important; color:#153b2c; font-weight:700; }
.public-events .public-event-link { display:inline-flex; align-self:start; padding:10px 16px; border:1px solid #207a46; border-radius:6px; font-weight:600; color:#207a46; background:transparent; text-decoration:none; transition:color .15s ease,background-color .15s ease; }
.public-events .public-event-link:hover, .public-events .public-event-link:focus-visible, .public-events .public-event-link:active { color:#fff; background:#207a46; border-color:#207a46; }
.public-event-detail-photo { width:100%; max-height:460px; object-fit:cover; }

.public-events .form-control, .public-events .form-select { min-height:44px; font-size:16px; }
.public-events .form-label { font-size:14px; font-weight:600; color:#153b2c; }
.public-events .error-message { color:#b02a37; font-size:13px; margin-top:6px; }
.public-events .input.checkbox { margin-bottom:8px; }
.public-events .input.checkbox input { margin-right:8px; }

button.public-event-link { background:transparent;color:#207a46;font-size:inherit; }
button.public-event-link:hover { background:#207a46;color:#fff; }

.event-retrieval-actions .btn { min-width:0; white-space:normal; }
@media (max-width:575.98px) { .event-retrieval-actions .btn { padding:10px 12px; font-size:13px; flex:1; } }
#public-event-results.event-list-view > div { width:100%; }
.event-search-toolbar { display:flex; align-items:stretch; gap:16px; }
.event-search-toolbar > .input-group { flex:1; width:auto; min-width:0; }
.event-search-toolbar > .btn-group { flex-shrink:0; }
@media(max-width:575.98px) {
    .event-search-toolbar { flex-wrap:wrap; gap:10px; }
    .event-search-toolbar > .input-group { flex-basis:100%; }
    .event-search-toolbar > .btn-group { margin-left:auto; }
}
.event-list-view .public-event-card { flex-direction:row; }
.event-list-view .public-event-photo { width:200px; height:auto; min-height:200px; align-self:stretch; flex-shrink:0; }
.event-list-view .public-event-card-body { padding:20px; min-width:0; }
.event-list-view .public-event-card-body > p { margin-bottom:8px; }
.event-list-view .public-event-card-body > .d-flex { margin-top:12px !important; }
@media(max-width:575.98px) {
    .event-list-view .public-event-photo { width:100px; min-height:140px; }
    .event-list-view .public-event-card-body { padding:14px; }
    .event-list-view .public-event-card h2 { font-size:16px; }
    .event-list-view .public-event-link { padding:8px 10px; font-size:12px; }
}
