.gallery-section-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; padding:1.5rem var(--sp-4); border-bottom:1px solid #e9e1e4; background:#fffcf8; }
.gallery-section-nav a { display:inline-flex; align-items:center; gap:.75rem; font-size:.82rem; border:1px solid #dccbd5; border-radius:30px; padding:.7rem 1.3rem; color:var(--color-deep-plum); }
.gallery-section-nav a span { opacity:.65; font-size:.72rem; }
.gallery-section-nav a:hover { background:var(--color-deep-plum); color:white; }
#event-galleries,#wedding-galleries { scroll-margin-top:100px; }
.event-collection { background:#f8f3f0; }
.event-collection__intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:2rem; margin-bottom:2rem; }
.event-collection__intro h2 { margin-top:.75rem; color:var(--color-deep-plum); }
.event-collection__intro > p { max-width:33rem; justify-self:end; font-size:1rem; color:#786b73; line-height:1.8; }
.event-filters { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:2rem; }
.event-filters[hidden],.event-card[hidden] { display:none; }
.event-filter { padding:.65rem 1rem; border:1px solid #ddcfd6; border-radius:30px; font:inherit; font-size:.8rem; color:var(--color-deep-plum); background:transparent; cursor:pointer; }
.event-filter span { margin-left:.4rem; font-size:.7rem; opacity:.65; }
.event-filter[aria-pressed="true"] { color:white; background:var(--color-deep-plum); border-color:var(--color-deep-plum); }
.event-grid,.gallery-albums-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-6); }
.event-card { min-width:0; display:flex; flex-direction:column; border:1px solid #eadfe5; border-radius:12px; background:white; overflow:hidden; box-shadow:0 8px 26px #3d2b2b06; }
.event-card__image { display:block; aspect-ratio:4/3; position:relative; overflow:hidden; background:#e8dce3; }
.event-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.event-card__occasion,.event-card__count { position:absolute; font-size:.62rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; border-radius:3px; padding:.4rem .65rem; }
.event-card__occasion { top:1rem; left:1rem; background:#fffaf3ef; color:#513344; }
.event-card__count { bottom:1rem; left:1rem; background:#30212cce; color:white; }
.event-card__arrow { position:absolute; bottom:1rem; right:1rem; display:grid; place-items:center; width:32px; height:32px; background:#fffaf3ed; border-radius:50%; color:#513344; font-size:1.2rem; }
.event-card__body { display:flex; flex-direction:column; flex:1; padding:1.5rem; }
.event-card h3 { font-family:var(--font-serif); font-size:clamp(1.5rem,2vw,1.85rem); font-weight:400; line-height:1.15; margin-bottom:.85rem; color:var(--color-deep-plum); }
.event-card__body > p { color:#786b73; font-size:.9rem; line-height:1.75; margin-bottom:1.25rem; }
.event-card__link { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid #eee4e9; color:var(--color-deep-plum); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; font-weight:500; }
.event-card__link span { font-size:1.25rem; }
.event-results { margin-top:1.5rem; color:#8a7681; font-size:.8rem; text-align:center; }
.event-collection :is(a,button):focus-visible,.gallery-section-nav a:focus-visible { outline:3px solid #bb9a42; outline-offset:3px; }
@media (max-width:1024px) { .event-grid,.gallery-albums-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
  .event-grid,.gallery-albums-grid { grid-template-columns:minmax(0,1fr); }
  .event-collection__intro { grid-template-columns:1fr; gap:1rem; }
  .event-collection__intro > p { justify-self:start; font-size:.95rem; }
  .event-card__body { padding:1.25rem; }
  .event-filter { font-size:.75rem; padding:.6rem .85rem; }
}
@media (prefers-reduced-motion:reduce) { .event-card__image img { transition:none; } }
