/* ============================================
   18. GALLERIES ARCHIVE
   ============================================ */
.sao-galleries-page{--sao-gallery-sticky-top:calc(var(--sa-header-height, 72px) + 14px)}
.sao-galleries-shell{display:grid;gap:var(--sa-space-5);padding-bottom:var(--sa-space-8)}
.sao-galleries-hero{padding:clamp(34px,5vw,72px) 0 var(--sa-space-5);border-bottom:1px solid var(--sa-border-soft)}
.sao-galleries-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sa-space-5);align-items:end}
.sao-galleries-title{display:flex;gap:.45em;align-items:center;margin:0;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.92;font-weight:950;letter-spacing:-.06em}
.sao-galleries-description{max-width:68ch;margin:var(--sa-space-4) 0 0;color:var(--sa-text-muted);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}
.sao-galleries-meta{display:grid;grid-template-columns:repeat(3,auto);gap:10px;margin:0}
.sao-galleries-meta span{display:grid;gap:2px;min-width:112px;padding:14px 16px;border-radius:var(--sa-radius-lg);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);text-transform:uppercase;letter-spacing:.08em;font-size:var(--sa-text-xs);font-weight:800;color:var(--sa-text-muted)}
.sao-galleries-meta strong{display:block;color:var(--sa-plumbob);font-family:var(--sa-font-mono);font-size:clamp(1.4rem,2vw,2rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}

.sao-galleries-search{position:relative;margin:var(--sa-space-2) 0 var(--sa-space-1)}
.sao-galleries-search-input{width:100%;min-height:60px;padding:16px 54px 16px 54px;border-radius:var(--sa-radius-pill);border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:var(--sa-text);font-size:1rem;font-weight:750;box-shadow:0 12px 32px rgba(0,0,0,.16);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.sao-galleries-search-input::placeholder{color:rgba(229,235,255,.48)}
.sao-galleries-search-input:focus{outline:none;border-color:rgba(143,224,61,.72);background:rgba(143,224,61,.08);box-shadow:0 0 0 4px rgba(143,224,61,.12),0 16px 40px rgba(0,0,0,.18)}
.sao-galleries-search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:var(--sa-text-muted);pointer-events:none}
.sao-galleries-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--sa-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}
.sao-galleries-search-clear:hover{background:rgba(143,224,61,.12);color:var(--sa-plumbob)}
.sao-galleries-search-clear svg{width:18px;height:18px}

.sao-galleries-filters{position:sticky;top:var(--sao-gallery-sticky-top);z-index:50;display:grid;gap:0;padding:var(--sa-space-4);margin-bottom:var(--sa-space-4);border-radius:var(--sa-radius-xl);background:rgba(5,11,46,.78);border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 46px rgba(0,0,0,.28);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.sao-filter-row{display:flex;align-items:center;gap:var(--sa-space-3);padding:9px 0;flex-wrap:wrap}
.sao-filter-row + .sao-filter-row{border-top:1px solid rgba(255,255,255,.06)}
.sao-filter-label{flex:0 0 72px;font-size:var(--sa-text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--sa-text-muted);font-weight:900}
.sao-filter-chips{display:flex;gap:7px;flex-wrap:wrap;min-width:0}
.sao-filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 14px;border-radius:var(--sa-radius-pill);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.085);color:var(--sa-text-muted);font-size:.86rem;font-weight:850;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap}
.sao-filter-chip:hover{color:var(--sa-text);border-color:rgba(143,224,61,.35);transform:translateY(-1px)}
.sao-filter-chip.is-active{background:rgba(143,224,61,.17);border-color:rgba(143,224,61,.75);color:var(--sa-plumbob-bright);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.sao-filter-row--toolbar{align-items:center}
.sao-filter-multiselect{position:relative}
.sao-filter-multiselect summary{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:var(--sa-radius-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:var(--sa-text);font-weight:900;cursor:pointer;list-style:none}
.sao-filter-multiselect summary::-webkit-details-marker{display:none}
.sao-filter-count{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:var(--sa-radius-pill);background:rgba(143,224,61,.16);color:var(--sa-plumbob);font-size:.76rem;font-family:var(--sa-font-mono)}
.sao-filter-multiselect-content{position:absolute;top:calc(100% + 10px);left:0;z-index:70;display:grid;gap:4px;width:min(360px,82vw);max-height:340px;overflow:auto;padding:12px;border-radius:var(--sa-radius-lg);background:rgba(10,14,31,.98);border:1px solid rgba(255,255,255,.10);box-shadow:0 20px 54px rgba(0,0,0,.4)}
.sao-filter-checkbox{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--sa-radius-md);color:var(--sa-text-muted);font-weight:750;cursor:pointer}
.sao-filter-checkbox:hover{background:rgba(255,255,255,.06);color:var(--sa-text)}
.sao-filter-checkbox input{accent-color:var(--sa-plumbob)}
.sao-filter-select{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 10px 0 13px;border-radius:var(--sa-radius-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}
.sao-filter-select span{font-size:var(--sa-text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--sa-text-muted)}
.sao-filter-select select{height:34px;border:0;background:transparent;color:var(--sa-text);font-weight:850;cursor:pointer}
.sao-filter-select select:focus{outline:0}
.sao-filter-select option{background:#0a0e1f;color:white}
.sao-filter-counter{margin-left:auto;color:var(--sa-text-muted);font-weight:850;font-size:.9rem}
.sao-filter-counter strong{color:var(--sa-plumbob);font-family:var(--sa-font-mono);font-variant-numeric:tabular-nums}

.sao-galleries-results{display:grid;gap:var(--sa-space-5)}
.sao-galleries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sa-space-4);align-items:start}
.sao-gallery-card{overflow:hidden;border-radius:var(--sa-radius-xl);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);box-shadow:0 14px 36px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.sao-gallery-card[hidden]{display:none}
.sao-gallery-card:hover,.sao-gallery-card:focus-within{transform:translateY(-3px);border-color:rgba(143,224,61,.45);background:rgba(143,224,61,.055);box-shadow:0 18px 48px rgba(0,0,0,.30),0 0 0 1px rgba(143,224,61,.20)}
.sao-gallery-card-link{display:block;color:inherit;text-decoration:none;height:100%}
.sao-gallery-card-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;aspect-ratio:16/11;background:linear-gradient(135deg,rgba(143,224,61,.12),rgba(109,174,255,.10)),var(--sa-surface-deep);overflow:hidden}
.sao-gallery-card-tile{overflow:hidden;background:rgba(255,255,255,.04)}
.sao-gallery-card-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease;filter:saturate(1.05) contrast(1.02)}
.sao-gallery-card:hover .sao-gallery-card-tile img{transform:scale(1.055)}
.sao-gallery-card-placeholder{grid-column:1/-1;grid-row:1/-1;display:grid;place-items:center;color:var(--sa-plumbob);opacity:.75}
.sao-gallery-card-placeholder img{width:60px;height:72px;object-fit:contain}
.sao-gallery-card-count{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:var(--sa-radius-pill);background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.12);color:white;font-size:.82rem;font-weight:950;font-family:var(--sa-font-mono);font-variant-numeric:tabular-nums;backdrop-filter:blur(10px)}
.sao-gallery-card-body{display:grid;gap:6px;padding:var(--sa-space-4)}
.sao-gallery-card-era{display:block;color:var(--sa-plumbob);font-size:var(--sa-text-xs);font-weight:950;text-transform:uppercase;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sao-gallery-card-title{margin:0;color:var(--sa-text);font-size:1.1rem;font-weight:950;line-height:1.16;letter-spacing:-.025em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sao-gallery-card-meta{display:flex;align-items:center;gap:7px;margin:0;color:var(--sa-text-muted);font-size:.86rem;font-weight:750;line-height:1.35;flex-wrap:wrap}
.sao-gallery-card-category{display:inline-flex;align-items:center;gap:4px}
.sao-gallery-card-dot{opacity:.5}

.sao-galleries-group-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--sa-space-4);margin:var(--sa-space-4) 0 0;padding:0 0 var(--sa-space-3);border-bottom:2px solid rgba(143,224,61,.72)}
.sao-galleries-group-header:first-child{margin-top:0}
.sao-galleries-group-title{display:flex;align-items:center;gap:var(--sa-space-3);margin:0;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:950;letter-spacing:-.045em}
.sao-galleries-group-era-badge{width:13px;height:13px;border-radius:4px;background:var(--era-color,var(--sa-plumbob));box-shadow:0 0 0 5px rgba(143,224,61,.10)}
.sao-galleries-group-era-badge--sims-1{--era-color:var(--sa-era-sims-1,#6daeff)}
.sao-galleries-group-era-badge--sims-2{--era-color:var(--sa-era-sims-2,#9be564)}
.sao-galleries-group-era-badge--sims-3{--era-color:var(--sa-era-sims-3,#f4c95d)}
.sao-galleries-group-era-badge--sims-4{--era-color:var(--sa-era-sims-4,#8fe03d)}
.sao-galleries-group-era-badge--freeplay{--era-color:#6daeff}
.sao-galleries-group-era-badge--medieval{--era-color:#d6a35b}
.sao-galleries-group-count{color:var(--sa-text-muted);font-size:.9rem;font-weight:850;font-variant-numeric:tabular-nums}
.sao-galleries-load-more-wrap{display:flex;justify-content:center;padding:var(--sa-space-4) 0 0}
.sao-galleries-no-results,.sao-galleries-empty{display:grid;place-items:center;text-align:center;gap:var(--sa-space-3);min-height:260px}
.sao-galleries-no-results span img,.sao-galleries-empty .sao-empty-plumbob img{width:64px;height:82px;object-fit:contain}

.sao-lightbox:not([open]){display:none}
.sao-lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,11,46,.965);color:var(--sa-text);z-index:9999;grid-template-rows:auto 1fr auto;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.sao-lightbox[open]{display:grid;animation:sao-lightbox-fade .18s ease}
@keyframes sao-lightbox-fade{from{opacity:0}to{opacity:1}}
.sao-lightbox-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sa-space-4);padding:var(--sa-space-4) var(--sa-space-5);border-bottom:1px solid rgba(255,255,255,.08)}
.sao-lightbox-title{margin:0;font-size:clamp(1rem,2vw,1.35rem);font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sao-lightbox-subtitle{margin:3px 0 0;color:var(--sa-text-muted);font-size:.88rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sao-lightbox-actions{display:flex;gap:8px}
.sao-lightbox-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.075);color:var(--sa-text);cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease}
.sao-lightbox-button:hover,.sao-lightbox-button:focus-visible{background:rgba(143,224,61,.18);color:var(--sa-plumbob);outline:0;transform:translateY(-1px)}
.sao-lightbox-button svg{width:20px;height:20px}
.sao-lightbox-main{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;padding:var(--sa-space-4) clamp(64px,7vw,108px)}
.sao-lightbox-figure{display:grid;place-items:center;gap:var(--sa-space-3);max-width:100%;max-height:100%;margin:0}
.sao-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 210px);object-fit:contain;border-radius:var(--sa-radius-md);box-shadow:0 30px 90px rgba(0,0,0,.55)}
.sao-lightbox-caption{min-height:24px;text-align:center;color:var(--sa-text-muted);font-weight:700}
.sao-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:var(--sa-text);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}
.sao-lightbox-nav:hover,.sao-lightbox-nav:focus-visible{background:var(--sa-plumbob);color:var(--sa-text-on-green);outline:0;transform:translateY(-50%) scale(1.04)}
.sao-lightbox-nav svg{width:28px;height:28px}
.sao-lightbox-nav--prev{left:var(--sa-space-5)}
.sao-lightbox-nav--next{right:var(--sa-space-5)}
.sao-lightbox-info-panel{position:absolute;right:var(--sa-space-5);top:86px;width:min(360px,calc(100vw - 32px));padding:var(--sa-space-4);border-radius:var(--sa-radius-lg);background:rgba(10,14,31,.96);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 54px rgba(0,0,0,.4);z-index:2;color:var(--sa-text-muted)}
.sao-lightbox-info-panel strong{display:block;color:var(--sa-text);font-size:1rem;margin-bottom:8px}
.sao-lightbox-info-panel dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:.86rem}
.sao-lightbox-info-panel dt{color:var(--sa-text-muted);font-weight:900}
.sao-lightbox-info-panel dd{margin:0;color:var(--sa-text);font-weight:700;text-align:right}
.sao-lightbox-thumbs{display:flex;gap:8px;padding:var(--sa-space-4) var(--sa-space-5);overflow-x:auto;border-top:1px solid rgba(255,255,255,.08);scroll-behavior:smooth;scrollbar-width:thin}
.sao-lightbox-thumb{width:66px;height:66px;flex:0 0 66px;border:0;border-radius:var(--sa-radius-md);padding:0;overflow:hidden;opacity:.52;cursor:pointer;background:rgba(255,255,255,.06);transition:opacity .15s ease,outline-color .15s ease,transform .15s ease}
.sao-lightbox-thumb:hover{opacity:.86;transform:translateY(-1px)}
.sao-lightbox-thumb.is-active{opacity:1;outline:2px solid var(--sa-plumbob);outline-offset:2px}
.sao-lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}
body.sao-lightbox-open{overflow:hidden}

@media (max-width:980px){
  .sao-galleries-hero-grid{grid-template-columns:1fr}.sao-galleries-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.sao-galleries-meta span{min-width:0}.sao-filter-counter{width:100%;margin-left:0}.sao-galleries-filters{top:12px}.sao-lightbox-main{padding:var(--sa-space-4) 56px}.sao-lightbox-nav--prev{left:12px}.sao-lightbox-nav--next{right:12px}
}
@media (max-width:768px){
  .sao-galleries-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--sa-space-3)}.sao-galleries-hero{padding-top:var(--sa-space-6)}.sao-galleries-meta{grid-template-columns:1fr}.sao-filter-row{display:grid;align-items:stretch}.sao-filter-label{flex-basis:auto}.sao-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.sao-filter-chip{flex:0 0 auto}.sao-filter-row--toolbar{grid-template-columns:1fr}.sao-filter-select,.sao-filter-multiselect summary{width:100%;justify-content:space-between}.sao-gallery-card-title{font-size:1rem}.sao-lightbox-header{grid-template-columns:auto minmax(0,1fr);padding:12px}.sao-lightbox-actions{grid-column:1/-1;justify-content:center}.sao-lightbox-main{padding:12px}.sao-lightbox-image{max-height:calc(100vh - 180px)}.sao-lightbox-nav{width:44px;height:44px;background:rgba(0,0,0,.38)}.sao-lightbox-thumbs{display:none}.sao-lightbox-info-panel{left:12px;right:12px;top:auto;bottom:16px;width:auto}.sao-galleries-search-input{min-height:54px}
}
@media (prefers-reduced-motion:reduce){
  .sao-gallery-card,.sao-gallery-card-tile img,.sao-filter-chip,.sao-lightbox[open],.sao-lightbox-button,.sao-lightbox-nav,.sao-lightbox-thumb{animation:none;transition:none}
}
