/* Basic gallery CSS (unchanged from prior drop-ins, summarized) */
:root{--bg-color:#0d47a1;--header-bg:#0a2e73;--text:#111;--card:#fff;--accent:#0a2e73;--shadow:0 1px 8px rgba(0,0,0,.12)}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-color);color:var(--text)}
.wrap{max-width:1100px;margin:0 auto;padding:0 1rem}
.header{background:var(--header-bg);color:#fff}
.header .row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0}
.header h1{font-size:1.2rem;margin:0}.header .desc{opacity:.9;font-size:.95rem}.actions .btn{margin-left:.4rem}
.btn{display:inline-block;background:#fff;color:#111!important;border:1px solid rgba(0,0,0,.12);padding:.48rem .75rem;border-radius:10px;text-decoration:none;font-weight:700;box-shadow:var(--shadow)}
.btn.subtle{background:#f7f7f7;color:var(--accent)!important}
.grid-albums,.grid-media{display:grid;gap:.9rem;padding:1rem 0}
.grid-albums{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.grid-media{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.card,.tile{position:relative;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.card::before,.tile::before{content:"";display:block;padding-top:66.6667%}
.card>img,.tile>img,.tile>video{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;display:block;background:#000}
.card .label{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));color:#fff;padding:.5rem .6rem;font-weight:700}
.pagination{display:flex;gap:.4rem;justify-content:center;margin:1rem 0 1.25rem;flex-wrap:wrap}
.pagination a,.pagination .ellipsis{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#fff;text-decoration:none;font-weight:700;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.pagination a{color:var(--accent)}.pagination a.active{background:var(--accent);color:#fff;border-color:transparent}
.pagination .ellipsis{padding:0 .5rem;color:#666;border-style:dashed}.pagination a.disabled{opacity:.5;pointer-events:none}
.detail{padding:1rem 0}.detail .detail-media{width:100%;max-height:80vh;object-fit:contain;background:#000;border-radius:12px}
.detail .detail-nav{display:flex;gap:.5rem;justify-content:space-between;margin-top:.75rem}
.lb{position:fixed;inset:0;background:rgba(0,0,20,.93);display:none;align-items:center;justify-content:center;z-index:999}
.lb.open{display:flex}.lb .inner{position:relative;max-width:95vw;max-height:90vh}
.lb img,.lb video{max-width:95vw;max-height:90vh}
.lb .close{position:absolute;top:.5rem;right:.5rem;background:#000;color:#fff;border:0;border-radius:999px;width:40px;height:40px;font-size:20px;cursor:pointer}
.lb .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);color:#fff;border:0;border-radius:8px;padding:.6rem .8rem;cursor:pointer}
.lb .prev{left:-3rem}.lb .next{right:-3rem}.lb .hint{position:absolute;left:0;right:0;bottom:-2.2rem;text-align:center;color:#fff;opacity:.8;font-size:.85rem}
@media (max-width:600px){.wrap{padding:0 .75rem}.grid-albums{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid-media{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.header h1{font-size:1.05rem}.lb .prev{left:-1rem}.lb .next{right:-1rem}}
@media (min-width:1200px){.wrap{max-width:1200px}}
