.events-shell{max-width:var(--max);margin:auto;padding:0 22px}.events-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 26px}.event-filters{display:flex;gap:8px;flex-wrap:wrap}.event-filter{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font:inherit;font-size:.84rem;font-weight:780;cursor:pointer}.event-filter:hover,.event-filter.is-active{background:var(--green);border-color:var(--green);color:#fff}.event-search{min-width:min(100%,300px);border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font:inherit;color:var(--ink);outline:none}.event-search:focus{border-color:#8aa79e;box-shadow:0 0 0 3px rgba(73,116,103,.12)}.event-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;color:var(--muted);font-size:.88rem}.event-summary strong{color:var(--ink)}.event-source{display:inline-flex;align-items:center;gap:7px}.event-source::before{content:"";width:8px;height:8px;border-radius:50%;background:#5b8d72;box-shadow:0 0 0 4px rgba(91,141,114,.12)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(26,40,36,.06);transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(26,40,36,.1)}.event-card[hidden]{display:none}.event-media{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#173b33,#45665d);overflow:hidden}.event-media img{width:100%;height:100%;object-fit:cover}.event-category{position:absolute;left:14px;top:14px;background:rgba(16,31,28,.88);color:#fff;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800;backdrop-filter:blur(5px)}.event-body{display:grid;grid-template-columns:66px 1fr;gap:16px;padding:19px}.event-date{border-right:1px solid var(--line);padding-right:14px;text-align:center;align-self:stretch}.event-date strong{display:block;font:500 2.2rem/1 Georgia,serif;color:var(--green)}.event-date span{display:block;font-size:.76rem;font-weight:850;letter-spacing:.1em;color:var(--gold);margin-top:5px}.event-copy{min-width:0}.event-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-bottom:7px}.event-status{background:#edf3f0;color:#315149;border-radius:999px;padding:3px 7px;font-weight:780}.event-copy h2{font:500 1.55rem/1.1 Georgia,serif;margin:0 0 8px;color:var(--ink)}.event-subtitle{color:var(--muted);font-size:.9rem;margin:0 0 13px;min-height:1.2em}.event-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:12px}.btn-sm{padding:9px 13px;font-size:.8rem}.event-empty{grid-column:1/-1;border:1px dashed #cfc7b9;border-radius:20px;padding:34px;text-align:center;background:#f9f7f2}.event-empty h3{font:500 1.5rem Georgia,serif;margin:0 0 7px}.event-empty p{color:var(--muted);margin:0}.event-planner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.event-planner-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--ink)}.event-planner-card strong{display:block;font:500 1.25rem Georgia,serif;margin-bottom:6px}.event-planner-card span{display:block;color:var(--muted);font-size:.86rem}.event-planner-card:hover{border-color:#b7c9c2;box-shadow:0 8px 22px rgba(26,40,36,.06)}@media(max-width:980px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-planner-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.events-shell{padding:0 18px}.events-toolbar{align-items:stretch}.event-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-right:-18px}.event-filter{white-space:nowrap}.event-search{width:100%}.event-grid{grid-template-columns:1fr}.event-body{grid-template-columns:58px 1fr;padding:16px}.event-date strong{font-size:1.95rem}.event-planner-grid{grid-template-columns:1fr 1fr}.event-summary{align-items:flex-start}}