/* Full flyers, natural proportions, no description panels. */
.announcement-archive { padding: clamp(2.5rem, 6vw, 5rem) 0; scroll-margin-top: 120px; }
.archive-months { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 2rem; }
.archive-month-link, .archive-page-link { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--text-muted); border-radius: 999px; color: var(--text-primary); font-weight: 600; text-decoration: none; }
.archive-month-link[aria-current="page"] { background: var(--text-primary); border-color: var(--text-primary); color: var(--background); }
.archive-month-link:hover, a.archive-page-link:hover { border-color: var(--primary); box-shadow: 0 3px 0 var(--primary); }
.archive-month-link:focus-visible, .archive-page-link:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.archive-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.archive-page-link[aria-disabled="true"] { opacity: .45; }
.archive-page-count { color: var(--text-secondary); font-size: .95rem; }
.announcement-archive-month + .announcement-archive-month { margin-top: clamp(2.5rem, 5vw, 4rem); }
.announcement-archive-heading { display: flex; align-items: center; gap: 1.2rem; margin: 0 0 1.5rem; font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.3; color: var(--text-primary); }
.announcement-archive-heading::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .2; }
.announcement-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; align-items: start; }
.announcement-archive-flyer { position: relative; display: block; padding: 9px; min-width: 0; background: #fff; border: 1px solid #d2dfd2; border-radius: 20px; box-shadow: 0 12px 32px rgba(35,78,72,.1); cursor: zoom-in; transition: translate .2s, box-shadow .2s; }
.announcement-archive-flyer img { display: block; width: 100%; height: auto; border-radius: 12px; }
.announcement-archive-flyer:hover { translate: 0 -4px; box-shadow: 0 20px 40px rgba(35,78,72,.16); }
.announcement-archive-flyer:focus-visible { outline: 3px solid #d76740; outline-offset: 4px; }
.announcement-archive-expand { display: grid; place-items: center; position: absolute; right: 20px; bottom: 20px; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(27,61,49,.88); color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.flyer-zoom-modal .flyer-zoom-inner { max-width: 94vw; max-height: 88vh; }
.flyer-zoom-modal .flyer-zoom-fullimg { max-width: 94vw; max-height: 88vh; width: auto; height: auto; }
.flyer-zoom-modal .flyer-zoom-close { width: 44px; height: 44px; background: #fff; color: #234e48; border: 2px solid #fff; }
.flyer-zoom-modal .flyer-zoom-close:hover { background: #a9352b; color: #fff; }
.flyer-zoom-modal .flyer-zoom-close:focus-visible { outline: 3px solid #ffbb91; outline-offset: 4px; }
html[data-theme="dark"] .announcement-archive-flyer { background: #1d3227; border-color: #506a56; }
@media (max-width: 1000px) { .announcement-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .announcement-archive-grid { grid-template-columns: 1fr; gap: 1.4rem; } .announcement-archive-flyer { padding: 6px; border-radius: 16px; } }
@media (max-width: 480px) { .archive-pagination { gap: .7rem; } .archive-page-link { flex: 1; padding-inline: .75rem; } .archive-page-count { order: 1; width: 100%; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .announcement-archive-flyer { transition: none; } .announcement-archive-flyer:hover { translate: none; } .flyer-zoom-modal.is-open, .flyer-zoom-modal .flyer-zoom-fullimg { animation: none; } }
