.albums-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.album-card{min-width:0;overflow:hidden;border:1px solid #355475;border-radius:16px;background:#102747;box-shadow:0 12px 35px #020c201f;transition:border-color .2s,transform .2s}
.album-card:hover{border-color:#75c4e4;transform:translateY(-4px)}
.album-open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;font:inherit;border:0;background:none;cursor:pointer;text-align:left;padding:0;color:#edf6ff;width:100%;height:100%;appearance:none}
.album-open:focus-visible{outline:3px solid #92e6ff;outline-offset:-4px;border-radius:15px}
.album-cover{display:block;position:relative;overflow:hidden;flex:0 0 auto;width:100%;aspect-ratio:4/3;background:#091a34}
.album-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s}
.album-open:hover .album-cover img{transform:scale(1.035)}
.album-photo-count{position:absolute;bottom:14px;right:14px;padding:7px 11px;background:#071b36e8;border:1px solid #bfdfee5c;color:#f1faff;border-radius:20px;font-size:10px;line-height:1.2;letter-spacing:.2px;backdrop-filter:blur(6px)}
.album-card-text{display:flex;flex-direction:column;flex:1;gap:12px;padding:24px;min-width:0}
.album-card-text .label{font-size:9px;line-height:1.6;display:block;color:#8de3ff;text-transform:uppercase;letter-spacing:1.5px;margin:0}
.album-card-text h3{font-size:20px;line-height:1.4;letter-spacing:-.45px;font-weight:600;margin:0;color:#f4f8ff;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.2em}
.album-card-text p{font-size:12px;line-height:1.8;color:#bdcfe2;margin:0 0 5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:5.4em}
.album-link{font-size:11px;line-height:1.5;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:17px;border-top:1px solid #375472;color:#a1e8ff;font-weight:600}
.album-link::after{content:'↗';display:grid;place-items:center;flex-shrink:0;border:1px solid #5484a4;border-radius:50%;width:30px;height:30px;font-size:16px;font-weight:400}
.album-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.album-filters button{font:500 11px/1.5 Montserrat,Arial,sans-serif;border:1px solid #526f94;background:#11294b;padding:10px 15px;cursor:pointer;color:#e7f3ff;border-radius:24px;transition:background .15s,border-color .15s,color .15s}
.album-filters button:hover{background:#1c3e64;border-color:#84deff;color:#fff}
.album-filters button[aria-pressed=true]{background:#84deff;border-color:#84deff;color:#0a2549;font-weight:700}
.album-filters button:focus-visible{outline:3px solid #c8f1ff;outline-offset:3px}
.album-viewer{box-sizing:border-box;width:min(1160px,96vw);max-height:95vh;overflow:auto;border:1px solid #527899;border-radius:16px;background:#0b1e3a;color:#f2f8ff;padding:22px;box-shadow:0 30px 100px #0009}
.album-viewer::backdrop{background:#020a1be8;backdrop-filter:blur(7px)}
.album-viewer header{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-bottom:16px}
.album-viewer h2{font:600 18px/1.5 Montserrat,Arial,sans-serif;margin:0;color:#fff}
.album-viewer button{font:600 11px/1.4 Montserrat,Arial,sans-serif;color:#e8f6ff;background:#183957;border:1px solid #5a83a1;padding:11px 14px;cursor:pointer;border-radius:7px}
.album-viewer header button{flex-shrink:0}
.album-viewer button:hover{background:#24516f}
.album-viewer button:disabled{opacity:.4;cursor:default}
.album-viewer button:focus-visible,.album-description summary:focus-visible{outline:3px solid #92e6ff;outline-offset:3px}
.album-slide{margin:0;position:relative;background:#06152b;border-radius:9px;overflow:hidden}
.album-slide img{display:block;max-width:100%;width:100%;height:min(59vh,650px);object-fit:contain}
.album-slide figcaption{font:400 12px/1.7 Montserrat,Arial,sans-serif;color:#c9deee;margin:0;padding:14px 18px;white-space:pre-line}
.album-stage{position:absolute;top:12px;left:12px;background:#a2eaff;color:#0b2649;padding:7px 13px;border-radius:20px;font-size:11px;font-weight:700}
.album-description{font:400 12px/1.8 Montserrat,Arial,sans-serif;border-top:1px solid #355272;margin-top:18px;padding-top:14px;color:#bdd2e5}
.album-description summary{cursor:pointer;color:#9ce4ff;font-weight:600;width:fit-content}
.album-description p{max-width:900px;white-space:pre-line;margin:12px 0 0}
.album-navigation{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:17px}
.album-count{font-size:12px;min-width:50px;text-align:center}
.album-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.album-compare figure{margin:0;background:#06152b;border-radius:9px;overflow:hidden}
.album-compare img{width:100%;height:52vh;object-fit:contain;display:block}
.album-compare figcaption{padding:12px;text-align:center;font-size:13px;font-weight:600;color:#a5e7ff}
.album-empty{padding:25px;border:1px solid #527899;grid-column:1/-1;color:#d5e7f5;border-radius:12px}
.album-viewer [hidden]{display:none!important}
@media(max-width:1000px){.albums-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.album-card-text{padding:21px}.album-card-text h3{font-size:19px}}
@media(max-width:650px){.albums-grid{grid-template-columns:1fr;gap:22px}.album-card-text{padding:21px}.album-card-text h3{font-size:19px;min-height:0}.album-card-text p{min-height:0}.album-cover{aspect-ratio:4/3}.album-filters{gap:7px}.album-filters button{font-size:10px;padding:9px 12px}.album-viewer{padding:14px;border-radius:12px}.album-viewer h2{font-size:14px}.album-viewer header{gap:12px}.album-slide img{height:49vh}.album-compare{gap:8px}.album-compare img{height:44vh}.album-navigation{gap:7px}.album-viewer button{padding:10px;font-size:10px}.album-description{font-size:11px}}
@media(prefers-reduced-motion:reduce){.album-card,.album-cover img{transition:none}.album-card:hover{transform:none}.album-open:hover .album-cover img{transform:none}}
