/* Extensie locală a temei existente; nu modifică celelalte galerii. */
.ng-gallery { max-width:1300px; margin:0 auto; padding:100px 36px 56px; color:var(--ink,#1a1410); }
.ng-gallery [hidden], .ng-viewer [hidden] { display:none !important; }
.ng-heading { margin-bottom:28px; }
.ng-eyebrow { font:12px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--ink3,#6a5e52); margin-bottom:12px; }
.ng-heading h1 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(26px,3vw,38px); line-height:1.25; }
.ng-total { color:var(--ink3,#6a5e52); font:400 .62em 'DM Mono',monospace; display:inline-block; margin-left:.4em; }
.ng-tools { display:flex; flex-wrap:wrap; gap:16px; align-items:end; margin-bottom:16px; }
.ng-tools label { display:block; font:14px system-ui,sans-serif; margin-bottom:6px; }
.ng-search-field { flex:1; min-width:200px; max-width:580px; }
.ng-size-field { width:165px; }
.ng-tools input,.ng-tools select,.ng-pagination { font-family:system-ui,sans-serif; }
.ng-tools .form-control,.ng-tools .form-select { background:var(--milk,#faf8f4); border-color:var(--rule,#ddd4c8); }
.ng-summary { font:13px system-ui,sans-serif; color:var(--ink3,#6a5e52); margin:20px 0; min-height:20px; }
.ng-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 20px; }
.ng-item { margin:0; min-width:0; }
.ng-photo { display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; background:var(--paper2,#ede8dc); padding:9px; color:var(--ink3,#6a5e52); text-decoration:none; overflow:hidden; font:13px system-ui,sans-serif; }
.ng-photo img { width:100%; height:100%; object-fit:contain; }
.ng-photo:focus-visible { outline:3px solid var(--rose-deep,#b87870); outline-offset:3px; }
.ng-item figcaption { font:12px/1.5 'DM Mono',monospace; color:var(--ink2,#3a3028); overflow-wrap:anywhere; padding-top:10px; }
.ng-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:32px; padding-top:20px; border-top:1px solid var(--rule,#ddd4c8); }
.ng-page-buttons,.ng-page-go { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.ng-page-go input[type=number] { width:80px; }
.ng-pagination [aria-disabled=true] { opacity:.45; cursor:default; }
.ng-empty { padding:45px 0; }
.ng-gallery[aria-busy=true] .ng-grid { opacity:.65; }
.ng-viewer { z-index:11000; --pswp-bg:#161513; }
.ng-viewer .pswp__mps-footer { position:absolute; bottom:0; left:0; width:100%; background:rgba(22,21,19,.97); color:#f8f6f0; padding:12px 24px 18px; font:13px/1.45 system-ui,sans-serif; }
.ng-viewer .ng-viewer-caption { text-align:center; margin-bottom:10px; overflow-wrap:anywhere; }
.ng-viewer .ng-viewer-cota { font-family:'DM Mono',monospace; margin-bottom:3px; }
.ng-viewer .ng-viewer-credit { color:#d6d0c7; font-size:12px; }
.ng-viewer .ng-viewer-controls { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; }
.ng-viewer .ng-viewer-controls button { font:inherit; padding:7px 11px; border:1px solid #6e6861; border-radius:4px; background:#24221f; color:#fff; min-height:36px; }
.ng-viewer .ng-viewer-controls button:disabled { opacity:.4; }
.ng-viewer .ng-viewer-controls form { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.ng-viewer .ng-viewer-controls input { width:85px; min-height:36px; padding:5px 8px; font:inherit; color:#fff; background:#24221f; border:1px solid #6e6861; border-radius:4px; }
.ng-viewer .ng-viewer-message { text-align:center; margin-bottom:8px; color:#ffe0a6; }
.ng-viewer .ng-viewer-controls :focus-visible { outline:2px solid #f2c6a5; outline-offset:3px; }
@media(max-width:767.98px) {
 .ng-gallery { padding:90px 16px 36px; }
 .ng-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
 .ng-photo { padding:5px; }
 .ng-item figcaption { font-size:11px; }
 .ng-search-field { flex-basis:100%; max-width:none; }
 .ng-size-field { width:100%; max-width:200px; }
 .ng-tools input,.ng-tools select { font-size:16px; }
 .ng-pagination { justify-content:center; }
 .ng-page-buttons { justify-content:center; }
 .ng-viewer .pswp__mps-footer { padding:9px 10px 14px; }
 .ng-viewer .ng-viewer-controls { gap:6px; }
 .ng-viewer .ng-viewer-controls form { justify-content:center; order:2; flex-basis:100%; }
 .ng-viewer .ng-viewer-controls input { font-size:16px; }
}
@media(pointer:coarse) { .ng-gallery .btn,.ng-viewer .ng-viewer-controls button { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
