.events-page { max-width: 1120px; padding-top: 48px; padding-bottom: 64px; min-height: 75vh; color: #233a2d; }
.events-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 32px; }
.events-admin-actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.events-heading h1 { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.15; margin: 8px 0 14px; }
.events-eyebrow { color: #776243; font-size: .76rem; letter-spacing: .16em; font-weight: 700; }
.events-page [hidden] { display: none !important; }
.events-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.event-card, .event-panel { border: 1px solid #d9e0d6; border-radius: 18px; background: #fff; overflow: hidden; }
.event-card { position: relative; isolation: isolate; }
.event-card-link::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 18px; }
.event-card:has(.event-card-link:hover), .event-card:has(.event-card-link:focus-visible) { border-color: #8b9c7d; box-shadow: 0 8px 28px #374d3420; }
.event-card .event-card-link:focus-visible { outline: none; }
.event-card-link:focus-visible::after { outline: 3px solid #b4802f; outline-offset: -4px; }
.event-card .event-actions > a, .event-card .event-actions > button { position: relative; z-index: 2; }
.event-panel { padding: 28px; margin-bottom: 24px; }
.event-card-body { padding: 26px; }
.event-card h2 { font-family: Georgia, serif; font-size: 1.7rem; line-height: 1.25; margin: 12px 0; }
.event-card h2 a { color: inherit; text-decoration: none; }
.event-card h2 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.event-share-tools { margin: 0 0 24px; }
.event-standalone .events-heading { margin-top: 24px; }
.event-standalone .events-heading > div { min-width: 0; }
.event-standalone h1 { overflow-wrap: anywhere; }
.event-standalone .btn { display: inline-flex; align-items: center; justify-content: center; }
.event-back-link { display: inline-flex; align-items: center; min-height: 44px; color: #354c3b; font-weight: 600; text-underline-offset: .2em; }
.event-card p, .event-panel p { line-height: 1.65; }
.event-art { height: 140px; background: radial-gradient(ellipse at 80% 100%, #dcc9a2 0 18%, transparent 18.5%), repeating-radial-gradient(ellipse at 0% 110%, #647359 0 2px, transparent 3px 18px), #eef0e5; display: flex; align-items: flex-end; padding: 22px 26px; color: #354b38; font-family: Georgia, serif; font-size: 1.3rem; }
.event-meta { color: #586154; font-size: .92rem; }
.event-badge { display: inline-block; border-radius: 99px; background: #edf1e8; color: #38512d; padding: 5px 10px; font-size: .77rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.event-badge.draft { background: #faf0d9; color: #795a21; }
.event-badge.cancelled { background: #fae6e3; color: #913f35; }
.event-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.event-badge.not-public { background: #f5e6dd; color: #7c402c; border: 1px solid #dfb7a6; }
.event-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }
.event-admin-tools { justify-content: space-between; margin: 0 0 20px; }
.event-actions .btn, .events-page button, .events-page input, .events-page select { min-height: 44px; }
.events-page .btn { border-radius: 8px; text-decoration: none; }
.events-page button { cursor: pointer; }
.events-page button:disabled { opacity: .6; cursor: wait; }
.event-muted { color: #647061; }
.event-description { white-space: pre-wrap; overflow-wrap: anywhere; }
.event-cover-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #e9eddf; }
.event-cover-image.cover-fit-contain { aspect-ratio: auto; height: auto; object-fit: contain; }
.event-cover-preview .cover-fit-contain { width: 100%; height: 100%; aspect-ratio: 16 / 9; }
.cover-position-top { object-position: center top; }
.cover-position-center { object-position: center; }
.cover-position-bottom { object-position: center bottom; }
.event-card-cover { grid-column: 1 / -1; }
.event-card-media { grid-column: 1 / -1; min-width: 0; }
.event-detail-cover { border-radius: 10px; margin-bottom: 24px; }
.event-cover-editor { min-width: 0; border: 1px solid #d5ddcb; border-radius: 14px; padding: 22px; background: #f7f8f1; }
.event-cover-editor legend { font: 600 1.3rem Georgia, serif; padding: 0 8px; }
.event-cover-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.event-cover-preview { border: 1px solid #d0dac4; border-radius: 12px; overflow: hidden; background: #eaf0e1; aspect-ratio: 16 / 9; }
.event-cover-placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; padding: 18px; text-align: center; color: #4f6445; }
.event-cover-placeholder > span { font-size: 2rem; line-height: 1; margin-bottom: 12px; }
.event-cover-placeholder strong { font: 600 1.2rem Georgia, serif; }
.event-cover-placeholder p { font-size: .85rem; margin: 8px 0 0; }
.event-cover-controls { display: grid; gap: 14px; min-width: 0; }
.event-cover-controls p { font-size: .8rem; margin: 0; }
.event-cover-controls input[type="file"] { font-size: .8rem; padding: 8px; min-width: 0; }
.event-cover-controls input::file-selector-button { border: 0; border-radius: 5px; padding: 8px; margin-right: 8px; color: #fff; background: #354c3b; cursor: pointer; }
#cover-status { overflow-wrap: anywhere; color: #526340; }
.event-cover-controls .btn { justify-self: start; font-size: .8rem; }
@media (max-width: 700px) { .event-cover-layout { grid-template-columns: 1fr; gap: 18px; } .event-cover-editor { padding: 16px; } .event-cover-placeholder { padding: 12px; } .event-cover-placeholder p { display: none; } .event-cover-placeholder strong { font-size: 1rem; } }
.event-split { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: start; }
.event-form { display: grid; gap: 18px; }
.event-form label { display: grid; gap: 7px; font-size: .92rem; font-weight: 600; }
.event-form input, .event-form select, .event-form textarea { width: 100%; border: 1px solid #b9c3b4; border-radius: 7px; padding: 10px 12px; color: #243d2c; background: white; font: inherit; }
.event-form textarea { resize: vertical; }
.event-form .event-check { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; line-height: 1.5; }
.event-form .event-check input { width: 20px; min-height: 20px; margin-top: 3px; flex-shrink: 0; }
.event-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
#event-message { padding: 16px 20px; border-radius: 10px; background: #edf4e7; border: 1px solid #c2d2b5; margin-bottom: 22px; }
#event-message.error { background: #fff0ec; border-color: #e3b3a7; color: #842e1f; }
.event-table-wrap { overflow-x: auto; }
.event-table { border-collapse: collapse; width: 100%; font-size: .9rem; }
.event-table th, .event-table td { text-align: left; padding: 14px 10px; border-bottom: 1px solid #e1e6db; vertical-align: top; }
.event-table td { max-width: 260px; overflow-wrap: anywhere; }
.event-table th { background: #f3f5ef; }
.event-total { font-size: 1.5rem; font-weight: 700; }
.event-link-box { width: 100%; font: inherit; padding: 12px; border: 1px solid #c4cdbd; border-radius: 7px; }
.events-footer { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; padding: 24px 0 36px; border-top: 1px solid #dde2d6; color: #687060; font-size: .85rem; }
.events-page :focus-visible { outline: 3px solid #b4802f; outline-offset: 3px; }
@media (max-width: 700px) { .events-page { padding-top: 28px; } .events-heading { align-items: flex-start; flex-direction: column; } .event-split, .event-fields { grid-template-columns: 1fr; } .event-panel { padding: 20px; } .events-footer { margin: 0 20px; } }
@media print { .site-header, .events-footer, .event-actions, #manage-link, .event-link-box { display: none !important; } .events-page { padding: 0; } .event-panel { border: none; } }
