.gallery.albums-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}
.album-card{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border:0;border-radius:6px;padding:0;background:#594637;color:white;text-align:right;cursor:pointer;font:inherit}
.album-card>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;transition:transform .3s}
.album-card:hover>img{transform:scale(1.035)}
.album-card:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.album-cover-caption{position:absolute;inset:auto 0 0;padding:45px 22px 19px;background:linear-gradient(0deg,rgba(25,18,14,.94),rgba(25,18,14,.65) 65%,transparent)}
.album-cover-caption strong{display:block;font-size:22px;line-height:1.4}
.album-cover-caption small{display:block;font-size:15px;margin-top:5px;color:#f2dcc1}
.gallery-hint{text-align:center;color:var(--muted);font-size:17px;margin:-15px 0 28px}
.album-viewer{width:min(1160px,calc(100% - 32px));height:min(900px,calc(100dvh - 32px));max-width:none;max-height:none;border:0;border-radius:10px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0008;overflow:hidden}
.album-viewer[open]{display:flex;flex-direction:column}
.album-viewer::backdrop{background:rgba(21,15,11,.88)}
.album-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);flex:none}
.album-toolbar h2{margin:0;font-size:23px;line-height:1.3}
.album-toolbar p{margin:4px 0 0;color:var(--muted);font-size:14px}
.album-close{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);cursor:pointer;font:30px/1 Arial;flex:none}
.album-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#201914;overflow:hidden;touch-action:pan-y}
.album-main-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.album-main-image[hidden]{display:none}
.album-step{position:absolute;top:50%;transform:translateY(-50%);min-height:46px;padding:9px 14px;border:1px solid #fff7;border-radius:6px;background:#201914d9;color:white;font:700 16px Tajawal,Arial,sans-serif;cursor:pointer;z-index:1}
.album-step.previous{right:12px}.album-step.next{left:12px}
.album-step:hover{background:#73563a}
.album-status{position:absolute;color:white;text-align:center;padding:20px;font-size:17px}
.album-status[hidden]{display:none}
.album-caption-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;flex:none}
.album-caption-bar p{margin:0;font-size:17px;line-height:1.5}
.album-caption-bar output{white-space:nowrap;color:var(--muted);font-size:15px}
.album-thumbnails{display:flex;gap:9px;padding:0 20px 14px;overflow-x:auto;flex:none;scrollbar-width:thin}
.album-thumbnail{width:67px;height:58px;border:2px solid transparent;padding:2px;border-radius:5px;flex:none;background:#e9ddce;cursor:pointer}
.album-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:2px;display:block}
.album-thumbnail[aria-current="true"]{border-color:#8b5a30;background:#e8c79f}
.album-close:focus-visible,.album-step:focus-visible,.album-thumbnail:focus-visible{outline:3px solid #b18a57;outline-offset:3px}
@media(max-width:850px){.gallery.albums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-cover-caption strong{font-size:20px}}
@media(max-width:550px){.gallery.albums-grid{grid-template-columns:1fr;gap:14px}.album-viewer{width:100%;height:100dvh;border-radius:0}.album-toolbar{padding:12px 15px}.album-toolbar h2{font-size:20px}.album-step{top:auto;bottom:12px;transform:none;min-height:44px}.album-caption-bar{padding:12px 15px}.album-caption-bar p{font-size:16px}.album-thumbnails{padding:0 15px 12px}.album-thumbnail{width:61px;height:53px}}
@media(prefers-reduced-motion:reduce){.album-card>img{transition:none}}
.album-main-video{display:block;width:100%;height:100%;object-fit:contain;background:#201914}
.album-main-video[hidden]{display:none}
.album-thumbnail{position:relative}
.album-video-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:white;text-shadow:0 1px 5px #000;font-size:20px;background:#0003;border-radius:3px;pointer-events:none}
@media(max-width:550px){.album-stage.video-mode .album-step{top:12px;bottom:auto}}
