/* Bible Maps page */
.maps-page{padding:1.25rem 0 3.5rem;position:relative;z-index:1}
.maps-hero{max-width:52rem;margin:0 auto 1.75rem;text-align:center}
.maps-hero h1{margin:0 0 .5rem;font-family:Cinzel,serif;font-size:clamp(1.6rem,3.5vw,2.15rem);letter-spacing:.06em;color:#e8c56a;font-weight:700}
.maps-hero p{margin:0 auto;max-width:40rem;color:rgba(240,232,212,.78);line-height:1.55;font-size:1.02rem}
.maps-note{margin:1rem auto 0;max-width:40rem;font-size:.88rem;color:rgba(180,170,150,.75);line-height:1.45}
.maps-toc{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin:0 auto 2rem;max-width:52rem;padding:0;list-style:none}
.maps-toc a{display:inline-block;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(212,168,75,.28);background:rgba(6,4,12,.45);color:rgba(240,232,212,.88);font-size:.82rem;text-decoration:none}
.maps-toc a:hover{border-color:rgba(212,168,75,.55);color:#e8c56a;background:rgba(212,168,75,.1)}
.maps-section{margin:0 auto 2.5rem;max-width:72rem}
.maps-section-title{margin:0 0 1rem;padding-bottom:.45rem;border-bottom:1px solid rgba(212,168,75,.22);font-family:Cinzel,serif;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:#d4a84b}
.maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1.15rem}
.maps-card{display:flex;flex-direction:column;border-radius:16px;border:1px solid rgba(212,168,75,.2);background:rgba(6,4,12,.62);overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.maps-card-media{position:relative;aspect-ratio:3/4;background:#f8f4ec;display:flex;align-items:center;justify-content:center;overflow:hidden}
.maps-card-media img{width:100%;height:100%;object-fit:contain;background:#f8f4ec;transition:transform .25s ease;cursor:zoom-in}
.maps-card:hover .maps-card-media img{transform:scale(1.02)}
.maps-card-body{padding:.85rem 1rem 1.05rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.maps-card h3{margin:0;font-family:Cinzel,serif;font-size:1.02rem;color:#e8c56a;letter-spacing:.03em;line-height:1.3}
.maps-card .maps-era{margin:0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(212,168,75,.75)}
.maps-card .maps-desc{margin:0;font-size:.9rem;line-height:1.45;color:rgba(240,232,212,.78);flex:1}
.maps-card .maps-refs{margin:0;font-size:.82rem;color:rgba(200,180,140,.7);font-style:italic}
.maps-card .maps-attr{margin:.25rem 0 0;font-size:.72rem;line-height:1.35;color:rgba(150,140,120,.65)}
.maps-card-actions{display:flex;gap:.5rem;margin-top:.45rem;flex-wrap:wrap}
.maps-card-actions a{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-size:.82rem;text-decoration:none;border:1px solid rgba(212,168,75,.35);color:#e8c56a;background:rgba(212,168,75,.08)}
.maps-card-actions a:hover{background:rgba(212,168,75,.16)}
.maps-lightbox{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(3,2,6,.88);backdrop-filter:blur(6px)}
.maps-lightbox.is-open{display:flex}
.maps-lightbox-inner{position:relative;max-width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:.65rem}
.maps-lightbox img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px;border:1px solid rgba(212,168,75,.25);background:#0a0810}
.maps-lightbox-cap{color:rgba(240,232,212,.9);text-align:center;font-size:.95rem;max-width:40rem;line-height:1.4}
.maps-lightbox-close{position:absolute;top:-.35rem;right:-.15rem;z-index:2;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid rgba(212,168,75,.4);background:rgba(10,8,16,.9);color:#e8c56a;font-size:1.35rem;cursor:pointer;line-height:1}
.maps-lightbox-close:hover{background:rgba(212,168,75,.15)}
@media (max-width:640px){.maps-page{padding-top:.85rem}.maps-card-media{aspect-ratio:3/4}}