/* Premium UI — scoped to the biblical locations catalog; overrides dark theme defaults. */
.glb-places-index{--glb-ink:#172a38;--glb-muted:#526576;--glb-gold:#d8ac5c;--glb-line:#dce4e9;box-sizing:border-box;width:100%;max-width:1200px;margin:32px auto 70px!important;color:var(--glb-ink)!important;font:400 17px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif!important;letter-spacing:normal!important}
.glb-places-index *{box-sizing:border-box}
.glb-places-index .glb-hero{position:relative;overflow:hidden;border-radius:22px 22px 0 0;padding:clamp(28px,5vw,62px);background:linear-gradient(125deg,#0c2738 0%,#164255 64%,#235364 100%);color:#fff!important}
.glb-places-index .glb-hero:after{content:'';position:absolute;right:-85px;top:-140px;width:380px;height:380px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);pointer-events:none}
.glb-places-index .glb-eyebrow{font-size:12px!important;font-weight:800!important;letter-spacing:2.5px!important;color:#f3ce8b!important;margin-bottom:13px}
.glb-places-index .glb-hero h2{color:#fff!important;font-size:clamp(30px,4.5vw,51px)!important;line-height:1.15!important;letter-spacing:-1px!important;font-weight:750!important;margin:0 0 18px!important;text-transform:none!important}
.glb-places-index .glb-hero p{color:#e6edf2!important;font-size:17px!important;line-height:1.7!important;max-width:630px;margin:0!important}
.glb-places-index .glb-stat{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:10px 18px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.09)}
.glb-places-index .glb-stat strong{font-size:27px!important;line-height:1!important;color:#fff!important}
.glb-places-index .glb-stat span{font-size:14px!important;color:#e9eef2!important}
.glb-places-index .glb-panel{background:#fff!important;border:1px solid #e0e7eb;border-top:0;border-radius:0 0 22px 22px;padding:clamp(18px,4vw,42px);box-shadow:0 20px 50px rgba(10,40,60,.09)}
.glb-places-index .glb-search-label{display:block!important;font-size:16px!important;font-weight:750!important;color:#172a38!important;margin:0 0 12px!important}
.glb-places-index .glb-search-wrap{display:flex;align-items:center;gap:12px;background:#f8fafc!important;border:2px solid #cbd9e1;border-radius:13px;padding:0 17px;transition:border-color .2s}
.glb-places-index .glb-search-wrap:focus-within{border-color:#167b98;box-shadow:0 0 0 3px rgba(22,123,152,.13)}
.glb-places-index .glb-search-wrap span{font-size:30px;color:#547083}
.glb-places-index input[type=search]{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;color:#152a38!important;-webkit-text-fill-color:#152a38!important;font-size:17px!important;line-height:1.5!important;padding:17px 0!important;margin:0!important;border-radius:0!important}
.glb-places-index input[type=search]::placeholder{color:#687e8c!important;opacity:1}
.glb-places-index .glb-letters{display:flex!important;flex-wrap:wrap;gap:8px;margin:23px 0 14px!important;padding:0!important}
.glb-places-index .glb-letters a{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px 11px!important;border:1px solid #cbd9e1!important;border-radius:9px!important;background:#f4f8fa!important;color:#173c4e!important;font-size:15px!important;font-weight:800!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important}
.glb-places-index .glb-letters a:hover,.glb-places-index .glb-letters a:focus-visible{background:#173c4e!important;color:#fff!important;border-color:#173c4e!important}
.glb-places-index .glb-results{color:#526576!important;font-size:14px!important;min-height:1em;margin:8px 0!important}
.glb-places-index .glb-letter-group{margin:28px 0 0!important;scroll-margin-top:100px}
.glb-places-index .glb-letter-group h3{display:flex;align-items:center;gap:12px;border-bottom:1px solid #dce4e9;padding-bottom:12px!important;margin:0 0 16px!important;color:#172a38!important;font-size:22px!important;font-weight:750!important;line-height:1.3!important}
.glb-places-index .glb-letter-group h3 span{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;background:#173c4e;color:#fff;border-radius:11px}
.glb-places-index .glb-letter-group h3 small{color:#627686!important;font-size:13px!important;font-weight:600!important}
.glb-places-index ul.glb-place-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px!important;list-style:none!important;margin:0!important;padding:0!important;columns:auto!important}
.glb-places-index li.glb-place-item{list-style:none!important;margin:0!important;padding:0!important;border:0!important;break-inside:avoid}
.glb-places-index li.glb-place-item:before{display:none!important}
.glb-places-index .glb-place-item a{display:flex!important;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:14px 16px!important;background:#f8fafb!important;border:1px solid #e0e8ed!important;border-radius:12px!important;text-decoration:none!important;color:#183548!important;font-size:16px!important;font-weight:650!important;line-height:1.35!important;overflow-wrap:anywhere;transition:background .15s,border-color .15s,transform .15s}
.glb-places-index .glb-place-item a:hover,.glb-places-index .glb-place-item a:focus-visible{background:#eef6f8!important;border-color:#7eb0c1!important;color:#0c4e69!important;transform:translateY(-1px)}
.glb-places-index .glb-arrow{flex:0 0 auto;color:#47798b!important;font-size:20px!important}
.glb-places-index [hidden]{display:none!important}
@media(max-width:900px){.glb-places-index ul.glb-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.glb-places-index{font-size:16px!important;margin:15px auto 35px!important}.glb-places-index .glb-hero{border-radius:15px 15px 0 0}.glb-places-index .glb-panel{border-radius:0 0 15px 15px}.glb-places-index ul.glb-place-grid{grid-template-columns:1fr}.glb-places-index .glb-place-item a{min-height:58px}.glb-places-index .glb-letters a{min-width:37px;min-height:37px}}
