/* Gallery Manager base styling. Put personal overrides in custom.css. */
:root { --gallery-text:#343a40; --gallery-muted:#6c757d; --gallery-border:#e6e8eb; --gallery-background:#fff; --gallery-soft:#f7f8f9; --gallery-accent:#416b8a; }
body { background:var(--gallery-background); color:var(--gallery-text); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.6; }
a { color:var(--gallery-accent); }
.site-header { border-bottom:1px solid var(--gallery-border); background:#fff; }
.site-header .container { padding-top:1rem; padding-bottom:1rem; }
.site-brand { color:var(--gallery-text); font-size:1.15rem; font-weight:650; text-decoration:none; }
.album-nav { display:flex; flex-wrap:wrap; gap:.45rem 1.2rem; margin-top:.65rem; }
.album-nav a { color:var(--gallery-muted); text-decoration:none; font-size:.94rem; }
.album-nav a[aria-current="page"], .album-nav a:hover { color:var(--gallery-text); text-decoration:underline; text-underline-offset:4px; }
.page-heading { max-width:760px; margin-bottom:2rem; }
.page-heading h1 { font-size:clamp(1.8rem,3vw,2.5rem); font-weight:650; letter-spacing:-.035em; }
.page-heading p { color:var(--gallery-muted); }
.breadcrumb-line { font-size:.9rem; }
.album-card,.photo-card { display:block; height:100%; overflow:hidden; border:1px solid var(--gallery-border); border-radius:.55rem; background:#fff; color:inherit; text-decoration:none; }
.album-card { transition:border-color .15s ease; }
.album-card:hover { border-color:#adb5bd; color:inherit; }
.album-card>img,.photo-card .photo-open img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--gallery-soft); }
.album-placeholder { display:grid; place-items:center; aspect-ratio:4/3; background:var(--gallery-soft); color:var(--gallery-muted); }
.card-copy { padding:1rem 1.1rem 1.15rem; }
.card-copy h2 { margin:0 0 .45rem; font-size:1.12rem; font-weight:650; }
.card-copy p { margin:0; color:#5e666e; font-size:.94rem; white-space:normal; }
.photo-count { display:block; margin-top:.8rem; color:var(--gallery-muted); font-size:.82rem; }
.photo-open { display:block; overflow:hidden; }
.photo-open img { transition:transform .2s ease; }
.photo-open:hover img { transform:scale(1.025); }
.modal-description { max-width:850px; margin:1rem auto .25rem; color:var(--gallery-muted); }
.site-footer { margin-top:3rem; padding:1.5rem 0; border-top:1px solid var(--gallery-border); font-size:.85rem; }
.site-footer a { color:var(--gallery-muted); }
.admin-page { background:#f6f7f8; min-height:100vh; }
.admin-header { background:#fff; border-bottom:1px solid var(--gallery-border); padding:1rem 0; }
.admin-header a { text-decoration:none; margin-right:1rem; }
.admin-panel { padding:1.5rem; background:#fff; border:1px solid var(--gallery-border); border-radius:.6rem; }
.admin-panel.mx-auto { max-width:480px; }
.admin-photo { height:100%; overflow:hidden; border:1px solid var(--gallery-border); border-radius:.55rem; background:#fff; }
.admin-photo>img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:var(--gallery-soft); }
.form-label { font-weight:600; }
@media (max-width:575.98px) { .album-nav { gap:.4rem .85rem; } .admin-panel { padding:1rem; } }
