.wels-ach-intro { text-align:center; max-width:700px; margin:0 auto 2rem; }
.wels-ach-intro>span { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:700; color:var(--wels-primary,#345b9b); }
.wels-ach-intro h2 { font-size:clamp(2rem,4vw,3rem); margin:.5rem 0; }
.wels-ach-intro p { color:#56647a; }
.wels-ach-filters { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin:0 0 2.5rem; }
.wels-ach-filters button { border:1px solid #d8dfeb; border-radius:30px; padding:.7rem 1.15rem; background:white; color:#263c5d; font:inherit; cursor:pointer; }
.wels-ach-filters button[aria-pressed=true] { background:var(--wels-primary,#345b9b); color:white; border-color:transparent; }
.wels-ach-album-group { margin:2.5rem 0; scroll-margin-top:170px; }
.wels-ach-album-group[hidden] { display:none; }
.wels-ach-album-group>h2 { font-size:1.5rem; padding-bottom:.7rem; border-bottom:2px solid #b0cc54; }
.wels-ach-album-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.wels-ach-album-card { border:1px solid #e0e6ef; border-radius:18px; overflow:hidden; background:white; box-shadow:0 6px 24px #1932530a; }
.wels-ach-gallery .wels-ach-album-cover { display:block; position:relative; aspect-ratio:4/3; border:0; border-radius:0; overflow:hidden; }
.wels-ach-album-cover img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.wels-ach-album-cover:hover img { transform:scale(1.025); }
.wels-ach-photo-count,.wels-ach-open { position:absolute; bottom:1rem; padding:.4rem .75rem; border-radius:20px; color:white; background:#172d50e6; font-size:.8rem; }
.wels-ach-photo-count { left:1rem; }.wels-ach-open { right:1rem; }
.wels-ach-album-copy { padding:1.4rem; }
.wels-ach-album-year { text-transform:uppercase; font-size:.75rem; font-weight:700; letter-spacing:.08em; color:#49668e; }
.wels-ach-album-copy h3 { font-size:1.3rem; line-height:1.4; margin:.5rem 0; }
.wels-ach-album-copy p { color:#56647a; line-height:1.7; font-size:.95rem; margin:.7rem 0 0; }
.wels-ach-album-copy summary { margin-top:1rem; cursor:pointer; font-weight:600; color:#345b9b; }
.wels-ach-album-card.is-text { border-top:3px solid #b0cc54; }
@media(max-width:640px) { .wels-ach-album-grid { grid-template-columns:1fr; }.wels-ach-filters { justify-content:flex-start; }.wels-ach-album-group { scroll-margin-top:130px; } }
@media(prefers-reduced-motion:reduce) { .wels-ach-album-cover img { transition:none; } }
