/* Museum design kit: visual overrides; existing layout and breakpoints stay in styles.css. */
:root{--background:var(--museum-background);--foreground:var(--museum-text);--popover:var(--museum-surface);--muted-foreground:var(--museum-muted);--primary:var(--museum-gold);--border:var(--museum-border);color-scheme:dark}
body{font-family:var(--museum-body)}
h1{font-family:var(--museum-heading);letter-spacing:-.025em}
.site-header .brand,.collection-heading h2,.panel-grid strong,.panel-seal,dialog h2{font-family:var(--museum-editorial);font-weight:400}
.site-header .brand,.site-header .brand-sub{color:var(--museum-text)}
.site-header .brand-sub,.collection-heading h2 span{font-family:var(--museum-body)}
.archive-navigation{border-color:var(--museum-border)}
.archive-navigation a,.eyebrow,.photo-id,.next-panels button,.detail-meta a,footer a{color:var(--museum-gold)}
.intro>p:last-child,.section-label>span,.panel-grid button span,.visit-note,.collection-heading h2 span,.collection-heading p:last-child,.view-hint,.no-image,.next-panels>span,.detail-meta,footer,.map-preview-caption,.map-legend,#map-description{color:var(--museum-muted)}
.visit-note strong{color:var(--museum-text)}
.star,.map-legend>span:first-child{color:var(--museum-terracotta)}
.panel-grid button{background:var(--museum-surface);color:var(--museum-text)}
.panel-grid button.selected{background:var(--museum-gold);border-color:var(--museum-gold);color:var(--museum-background)}
.panel-grid button.selected span{color:var(--museum-background)}
.panel-grid button:hover{box-shadow:0 0 0 1px var(--museum-gold)}
.panel-seal{color:var(--museum-gold)}
.photo-frame,.full-image,.missing-large{background:#242429}
.photo-frame{box-shadow:inset 0 0 0 1px var(--museum-border)}
.photo-trigger:hover .photo-frame{box-shadow:inset 0 0 0 1px var(--museum-gold)}
.expand-icon{background:var(--museum-surface);color:var(--museum-gold)}
.map-preview{background:var(--museum-surface);color:var(--museum-gold)}
.map-preview:hover{border-color:var(--museum-gold)}
.map-preview>img{opacity:1}
dialog,.photo-dialog{background:var(--museum-surface);box-shadow:0 20px 80px #0008}
dialog::backdrop{background:#000c}
.dialog-close{background:var(--museum-surface);color:var(--museum-text)}
.dialog-close:hover{background:var(--museum-border)}
.detail-description{color:var(--museum-text)!important}
.map-stage button{background:var(--museum-gold);color:var(--museum-background);border-color:var(--museum-background);box-shadow:0 2px 5px #0005}
.map-stage button.active{background:var(--museum-terracotta);color:var(--museum-background)}
.map-stage button:hover{background:var(--museum-text);color:var(--museum-background)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--museum-gold)}
.skip{background:var(--museum-surface);color:var(--museum-text)}

/* Optional light appearance retains the museum typography and existing layout. */
:root[data-theme="light"]{--museum-background:#fafbf9;--museum-surface:#ffffff;--museum-border:#d8ded8;--museum-text:#203731;--museum-muted:#566760;--museum-gold:#765a30;--museum-terracotta:#9c482d;color-scheme:light}
:root[data-theme="light"] .photo-frame,:root[data-theme="light"] .full-image,:root[data-theme="light"] .missing-large{background:#edf0ea}
:root[data-theme="light"] .panel-grid button.selected,:root[data-theme="light"] .panel-grid button.selected span{color:#fff}
:root[data-theme="light"] .map-stage button{background:#765a30;color:#fff;border-color:#fff}
:root[data-theme="light"] .map-stage button.active{background:#9c482d}
:root[data-theme="light"] .map-stage button:hover{background:#203731}
:root[data-theme="light"] dialog::backdrop{background:#12251d66}
.archive-navigation{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
#theme-toggle{background:var(--museum-surface);color:var(--museum-gold);border:1px solid var(--museum-border);border-radius:6px;padding:8px 12px;min-height:44px;font-size:14px}
#theme-toggle:hover{border-color:var(--museum-gold)}
#theme-toggle[hidden]{display:none}
@media(max-width:700px){.archive-navigation{gap:16px}}
