#clinic-map-section { font-family: Arial, sans-serif; margin: 20px 0 0; position: relative; }
.highlight{ outline:2px solid #333; }

.clinic-container{ display:flex; flex-wrap:wrap; gap:5px; width:100%; }
.location-list{
  flex-basis:49%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  overflow-y:auto;
  align-self:flex-start;
  padding-right:6px;
  padding-bottom:40px;
  max-height:820px;
}

.location-card{ border:1px solid #ccc; border-radius:10px; padding:10px; cursor:pointer; display:flex; flex-direction:column; background:#fff; }
.location-card img{ width:100%; height:190px; border-radius:8px; margin-bottom:6px; object-fit:cover; background:#f2f2f2; }
.location-card h3{ margin:0 0 5px; font-size:1.05rem; }
.location-card p{ margin:0 0 8px; line-height:1.2; color:#8a8a8a; }
.jobs-link{ margin-top:auto; text-decoration:none; border:1px solid #0a6cff; border-radius:6px; padding:10px 12px; display:inline-block; font-weight:600; }
.jobs-link:hover{ background:#e7f0ff; }

#map{
  flex-basis:50%;
  min-width:300px;
  height:75vh;
  position:sticky!important;
  top:35px;
  align-self:flex-start;
  border:1px solid #ddd;
  border-radius:10px;
  overflow:hidden;
}

/* Mobile */
.mobile-toggle{ display:none; }
@media(max-width:768px){
  .clinic-container{ display:block; }
  .mobile-toggle{
    position:sticky; top:0; z-index:6;
    display:flex; gap:8px; padding:10px 6px; margin:0 0 8px;
    background:#fff; border-bottom:1px solid #eee;
  }
  .mobile-toggle button{
    flex:1; padding:10px 12px; border:1px solid #ccc; border-radius:999px; background:#fafafa; font-weight:600;
  }
  .mobile-toggle button[aria-pressed="true"]{ background:#0a6cff; color:#fff; border-color:#0a6cff; }

  #map{ height:70vh; position:relative!important; top:auto; border-radius:12px; }
  .location-list{ grid-template-columns:1fr; max-height:60vh; overflow:auto; padding-right:10px; }

  #clinic-map-section.show-map .location-list{ display:none; }
  #clinic-map-section.show-map #map{ display:block; }
  #clinic-map-section.show-list .location-list{ display:grid; }
  #clinic-map-section.show-list #map{ display:none; }
}

/* Recenter FAB (mobile) */
.recenter-btn{
  display:none;
  position:fixed; right:14px; bottom:14px; z-index:7;
  border:0; border-radius:999px; padding:10px 12px; background:#0a6cff; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.18);
  font-weight:700;
}
@media(max-width:768px){ .recenter-btn{ display:inline-block; } }

.gm-style-iw button.gm-ui-hover-effect{
  margin-top:-10px!important; width:30px!important; height:20px!important; border:0!important; transform:scale(.6); line-height:10px;
}

/* Loader overlay */
.cm-loader{
  position:absolute; inset:0; z-index:10;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.85);
  backdrop-filter: blur(2px);
  transition: opacity .25s ease;
}
.cm-label{ margin-top:10px; font-size:14px; color:#5a5a5a; }
.cm-spinner{
  width:36px; height:36px; border-radius:50%;
  border:3px solid #cfd8dc; border-top-color:#0a6cff;
  animation: cmspin .8s linear infinite;
}
@keyframes cmspin { to { transform: rotate(360deg); } }
#clinic-map-section.is-ready .cm-loader{ opacity:0; pointer-events:none; }