/* ===== Location pages (el-cajon-gym.html, clairemont-gym.html) ===== */
.lp{position:relative;overflow:hidden;padding:clamp(70px,8vw,110px) 0}
.lp-g{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,5vw,80px);align-items:start}
.lp h2{font-style:italic;font-size:clamp(34px,4.2vw,62px);line-height:.95;margin:0 0 26px}
.lp h2 span{color:var(--blue)}
.lp .lead{font-size:clamp(18px,1.4vw,21px);color:#fff;margin:0 0 18px}
.lp p{color:var(--muted-l)}
.lp .checks{margin:28px 0 34px}
.lp-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.loc-card{position:relative;padding:clamp(26px,3vw,40px);background:linear-gradient(180deg,#232323,#1a1a1a);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--blue);box-shadow:0 30px 60px -40px rgba(0,0,0,.9)}
.loc-card h3{font-style:italic;font-size:clamp(22px,2vw,28px);margin:8px 0 14px}
.loc-card address{font-style:normal;font-size:18px;line-height:1.5;color:#fff;margin-bottom:10px}
.loc-card .ph{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:600;text-decoration:none;margin-bottom:24px}
.loc-card .ph svg{width:18px;height:18px;color:var(--blue)}
.loc-card .ph:hover{color:var(--blue)}
.loc-card h4{font-family:var(--f-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin:0 0 10px}
.loc-card .lx-rows{list-style:none;margin:0 0 26px;padding:0}
.loc-card .lx-rows li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px;line-height:1.5}
.loc-card .lx-rows li b{color:#fff}
.loc-card .lx-rows li span{color:var(--muted-l)}
.loc-card .lx-rows li.today b,.loc-card .lx-rows li.today span{color:var(--blue)}
.loc-card .acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.lp-map{position:relative;height:clamp(320px,38vw,460px);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.lp-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.88) brightness(.85)}
/* FAQ */
.faq{padding:clamp(70px,8vw,110px) 0}
.faq-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,5vw,80px);align-items:start}
.faq h2{font-style:italic;font-size:clamp(34px,4.2vw,62px);line-height:.95;margin:0 0 18px}
.faq h2 span{color:var(--blue)}
.faq-l{border-top:1px solid rgba(255,255,255,.12)}
.faq details{border-bottom:1px solid rgba(255,255,255,.12)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.3}
.faq summary::after{content:"+";flex:0 0 auto;font-family:var(--f-display);font-size:28px;font-weight:700;line-height:1;color:var(--blue);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;color:var(--muted-l)}
.faq details a{color:#fff}
/* other location */
.loc-other{padding:clamp(44px,5vw,64px) 0;border-top:1px solid rgba(255,255,255,.08)}
.loc-other .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.loc-other h2{font-style:italic;font-size:clamp(26px,2.8vw,40px);margin:0}
.loc-other h2 span{color:var(--blue)}
.loc-other p{margin:6px 0 0;color:var(--muted-l)}
@media (max-width:900px){.lp-g,.faq-g{grid-template-columns:1fr}}
@media (max-width:480px){.loc-card .lx-rows li{grid-template-columns:1fr;gap:2px}}
.loc-card .lx-rows li.today{padding-left:14px;padding-right:10px}
