/* Archivio fotografico CNSBII 386A · stili isolati, nessuna dipendenza esterna */
.sg-archive{--sg-ink:#142932;--sg-deep:#0c242e;--sg-gold:#b59b59;--sg-cream:#f7f6f0;--sg-stroke:#d8ddd9;background:var(--sg-cream);color:var(--sg-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;min-width:0}
.sg-archive *{box-sizing:border-box}.sg-archive a{color:inherit}.sg-archive button{font:inherit}.sg-wrap{width:min(1420px,calc(100% - 48px));margin:auto}
.sg-hero{background:#102a33;color:#fff;position:relative;min-height:565px;display:grid;align-items:end;overflow:hidden;isolation:isolate}
.sg-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) saturate(.85);opacity:.52;z-index:-2}.sg-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,30,.97),rgba(6,24,30,.57) 63%,rgba(6,24,30,.15));z-index:-1}
.sg-topline{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#f4e9ce}
.sg-topline a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:6px}
.sg-hero-inner{padding:130px 0 70px}.sg-kicker{display:inline-block;color:var(--sg-gold);text-transform:uppercase;font-weight:700;letter-spacing:.18em;font-size:12px}.sg-hero h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;font-weight:400;font-size:clamp(56px,8vw,124px);line-height:.95;max-width:930px;margin:26px 0}
.sg-intro{max-width:640px;font-size:clamp(17px,2vw,21px);line-height:1.65;color:#e6eeef;margin:0}
.sg-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:36px;font-size:13px;color:#e3e7df}.sg-hero-meta span+span{border-left:1px solid rgba(255,255,255,.4);padding-left:18px}
.sg-gallery{padding:70px 0 110px}.sg-head{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end;margin-bottom:32px}.sg-head h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.03em;font-size:clamp(29px,3.4vw,49px);margin:12px 0 0}.sg-head p{font-size:15px;line-height:1.7;max-width:520px;margin:0 0 4px;color:#53656a}
.sg-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--sg-stroke);border-bottom:1px solid var(--sg-stroke);padding:17px 0;margin-bottom:26px}
.sg-filter{background:transparent;color:#304c56;border:1px solid #cbd3d0;padding:10px 15px;min-height:44px;cursor:pointer}.sg-filter:hover,.sg-filter[aria-pressed="true"]{color:#fff;background:var(--sg-deep);border-color:var(--sg-deep)}.sg-filter-count{margin-left:auto;font-variant-numeric:tabular-nums;font-size:12px;color:#637178}
.sg-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;grid-auto-flow:row dense}.sg-item{grid-column:span 3;min-width:0;display:block;background:#fff;border:1px solid #e2e4dd;overflow:hidden;transition:transform .15s ease}.sg-item[hidden]{display:none}.sg-item:nth-child(10n + 1),.sg-item:nth-child(10n + 8){grid-column:span 6}.sg-item:nth-child(10n + 5){grid-column:span 6}
.sg-photo-btn{display:block;width:100%;border:0;padding:0;position:relative;cursor:zoom-in;overflow:hidden;background:#cbd4d2}.sg-photo-btn img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.1,1);user-select:none;-webkit-user-drag:none}.sg-item:nth-child(10n + 1) .sg-photo-btn img,.sg-item:nth-child(10n + 8) .sg-photo-btn img,.sg-item:nth-child(10n + 5) .sg-photo-btn img{aspect-ratio:8/5}
.sg-photo-btn:hover img{transform:scale(1.035)}.sg-photo-btn:after{content:"Apri";position:absolute;bottom:12px;right:12px;padding:8px 13px;font-size:12px;background:rgba(5,24,30,.87);color:#fff}.sg-caption{padding:16px 16px 19px;min-height:92px;display:flex;align-items:start;gap:11px}.sg-num{color:#987e42;font-family:Georgia,serif;font-size:19px;min-width:30px}.sg-title{font-size:14px;line-height:1.45;margin:2px 0 0;font-weight:600}
.sg-rights{margin-top:52px;border-top:2px solid var(--sg-gold);padding:24px 0;display:flex;justify-content:space-between;gap:28px}.sg-rights p{margin:0;max-width:850px;line-height:1.65;font-size:14px;color:#51616a}.sg-rights a{text-decoration:underline;text-underline-offset:4px}
.sg-dialog{border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#081a20;color:#fff}.sg-dialog::backdrop{background:#06161be8}.sg-dialog-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.sg-dialog-bar{padding:16px clamp(18px,3vw,46px);display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #3c4e53}.sg-dialog-counter{color:#d7d0be;letter-spacing:.1em;font-size:12px}.sg-dialog-controls{display:flex;gap:8px}.sg-dialog-controls button{background:#183840;color:#fff;border:1px solid #4f666c;padding:12px 15px;min-width:45px;min-height:44px;cursor:pointer}.sg-dialog-controls button:hover{background:#31525b}
.sg-light-figure{margin:0;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 18px}.sg-light-figure img{max-width:100%;max-height:100%;min-height:0;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}.sg-dialog-desc{padding:18px clamp(18px,3vw,46px);border-top:1px solid #3c4e53}.sg-dialog-desc strong{font:400 clamp(22px,2.4vw,33px)/1.2 Georgia,serif}.sg-dialog-desc p{font-size:13px;color:#bac9ce;margin:5px 0 0}
.sg-archive :focus-visible{outline:3px solid #d4b25c;outline-offset:3px}
@media(max-width:1100px){.sg-item{grid-column:span 4}.sg-item:nth-child(10n + 1),.sg-item:nth-child(10n + 8),.sg-item:nth-child(10n + 5){grid-column:span 8}}
@media(max-width:700px){.sg-wrap{width:calc(100% - 32px)}.sg-topline{top:18px;left:16px;right:16px;font-size:10px}.sg-hero{min-height:520px}.sg-hero-inner{padding:100px 0 53px}.sg-hero h1{font-size:clamp(51px,12vw,76px)}.sg-hero-meta{gap:10px}.sg-head{grid-template-columns:1fr;gap:17px}.sg-gallery{padding:46px 0 70px}.sg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sg-item,.sg-item:nth-child(10n + 1),.sg-item:nth-child(10n + 8),.sg-item:nth-child(10n + 5){grid-column:span 1}.sg-item:nth-child(7n + 1){grid-column:span 2}.sg-photo-btn img,.sg-item:nth-child(10n + 1) .sg-photo-btn img,.sg-item:nth-child(10n + 8) .sg-photo-btn img,.sg-item:nth-child(10n + 5) .sg-photo-btn img{aspect-ratio:4/3}.sg-item:nth-child(7n + 1) .sg-photo-btn img{aspect-ratio:16/10}.sg-caption{padding:11px;min-height:82px;gap:5px}.sg-num{font-size:17px;min-width:24px}.sg-title{font-size:12px}.sg-rights{display:block}.sg-rights p{margin-bottom:12px}.sg-filters{gap:6px}.sg-filter{padding:8px 10px;font-size:12px}.sg-filter-count{width:100%;margin-top:8px}.sg-dialog-desc{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){.sg-archive *{transition:none!important;animation:none!important}}

/* CNSBII 387A — didascalie documentali, date EXIF e località */
.sg-caption-body{min-width:0;flex:1}.sg-caption{min-height:0;align-items:flex-start}.sg-card-desc{font-size:12.6px;line-height:1.58;color:#566972;margin:9px 0 12px;overflow-wrap:anywhere}.sg-photo-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#526870;border-top:1px solid #e5e8e4;padding-top:10px}.sg-photo-meta time{font-variant-numeric:tabular-nums}.sg-map-link{color:#22556c!important;text-decoration:underline!important;text-underline-offset:3px;display:inline-flex;align-items:baseline;gap:4px;flex-wrap:wrap}.sg-map-link:hover{color:#0d303c!important}.sg-map-link span{font-weight:400}.sg-dialog-desc{max-height:35dvh;overflow-y:auto}.sg-dialog-desc [data-sg-light-description]{color:#e3e9e8;font-size:clamp(13px,1.2vw,16px);line-height:1.55;margin:12px 0}.sg-dialog-bottom{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;margin-top:9px;font-size:13px}.sg-dialog-bottom a{color:#e2be6e;text-decoration:underline;text-underline-offset:3px}.sg-dialog-bottom a[hidden]{display:none}.sg-dialog-desc .sg-copyright{font-size:11px;color:#a9babe;margin:10px 0 0}.sg-item:focus-within{outline:2px solid #c29d4b;outline-offset:1px}
@media(max-width:700px){.sg-card-desc{font-size:12px}.sg-dialog-desc{max-height:43dvh}.sg-dialog-inner{gap:2px}.sg-dialog-bar{padding:11px 12px}.sg-dialog-controls button{padding:10px}.sg-map-link span{display:inline}}
