/* GM locations and service-intent landing pages.  Kept separate from legacy
   styles so location context remains readable on every responsive breakpoint. */
.gm-location-selector { background:#f3f6f8; border-bottom:1px solid #dce4ea; }
.gm-location-selector__inner { max-width:1180px; margin:auto; padding:.7rem 1rem; display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; }
.gm-location-selector label { color:#102033; font-size:.82rem; font-weight:800; }
.gm-location-selector select { min-width:250px; border:1px solid #b9c8d5; border-radius:8px; padding:.42rem .6rem; background:#fff; color:#102033; font-weight:700; }
.gm-location-selector__note { color:#62748a; font-size:.78rem; }
.gm-locations { background:#f3f6f8; }
.gm-locations__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.gm-location-card { display:flex; flex-direction:column; min-height:100%; padding:1.6rem; border:1px solid #dce4ea; border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(16,32,51,.06); }
.gm-location-card__eyebrow,.gm-eyebrow { color:#245f92; font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.gm-location-card h3 { margin:.35rem 0 .75rem; }
.gm-location-card address { min-height:4.5rem; color:#465a70; font-style:normal; }
.gm-location-card__actions,.gm-landing-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:auto; }
.gm-location-card__actions a,.gm-landing-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:.65rem .9rem; border-radius:8px; text-decoration:none; font-size:.88rem; font-weight:800; }
.gm-btn-primary { background:#ef4c3d; border:1px solid #ef4c3d; color:#fff !important; }
.gm-btn-secondary { background:#107c42; border:1px solid #107c42; color:#fff !important; }
.gm-btn-outline { background:#fff; border:1px solid #245f92; color:#245f92 !important; }
.gm-location-verify { margin-top:1rem; padding:.75rem; border-left:3px solid #d97706; background:#fffbeb; color:#78350f; font-size:.84rem; }
.gm-location-map { border:0; width:100%; min-height:360px; border-radius:14px; background:#e8eef2; }
.gm-landing-hero { padding:clamp(3.5rem,8vw,6rem) 0 !important; background:linear-gradient(135deg,#102033,#245f92); }
.gm-landing-hero h1,.gm-landing-hero p { color:#fff !important; }
.gm-landing-hero .gm-landing-lead { max-width:720px; color:#dce9f2 !important; font-size:1.12rem !important; }
.gm-landing-hero .gm-diagnose { display:inline-block; margin:.8rem 0 1.25rem; color:#fff !important; font-weight:800; }
.gm-process { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.75rem; padding:0; list-style:none; counter-reset:process; }
.gm-process li { min-height:118px; padding:1rem; border:1px solid #dce4ea; border-radius:12px; background:#fff; color:#465a70; }
.gm-process strong { display:block; color:#102033; }
.gm-process li::before { counter-increment:process; content:counter(process); display:inline-grid; place-items:center; width:26px; height:26px; margin-bottom:.4rem; border-radius:50%; background:#ef4c3d; color:#fff; font-weight:800; }
.gm-service-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:0; list-style:none; }
.gm-service-links a { display:block; height:100%; padding:1rem; border:1px solid #dce4ea; border-radius:12px; color:#102033; font-weight:800; text-decoration:none; }
.gm-service-links a:hover { border-color:#ef4c3d; }
.gm-branch-form { max-width:720px; margin:0 auto; padding:1.5rem; border:1px solid #dce4ea; border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(16,32,51,.06); }
.gm-branch-form label { display:block; margin:.8rem 0 .3rem; color:#102033; font-weight:700; }
.gm-branch-form input,.gm-branch-form select,.gm-branch-form textarea { width:100%; padding:.65rem; border:1px solid #b9c8d5; border-radius:8px; }
.gm-branch-form button { width:100%; margin-top:1rem; min-height:44px; border:0; border-radius:8px; background:#ef4c3d; color:#fff; font-weight:800; }
@media (max-width:767px) { .gm-location-selector__inner { align-items:stretch; } .gm-location-selector select { width:100%; min-width:0; } .gm-locations__grid,.gm-service-links { grid-template-columns:1fr; } .gm-process { grid-template-columns:repeat(2,minmax(0,1fr)); } .gm-location-card address { min-height:0; } }
