/* Scoped polish for the structured homepage showcase and profile/location experience. */
.grh-line-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f7f9fc;color:var(--grh-navy);flex:0 0 auto}
.grh-line-icon svg,.grh-search-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.grh-hero-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;color:#6b7788;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.grh-hero-label>span{width:28px;height:3px;border-radius:999px;background:var(--grh-gold)}
.grh-nav-avatar-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}

/* The legacy account summary used the nav-avatar image inside .avatar.lg.
   Lock that surface to a true square/circle so responsive flex sizing can
   never stretch a portrait photo into an oval. */
.grid-2-side .detail-card .avatar.lg.grh-avatar-photo{
  width:96px!important;
  height:96px!important;
  min-width:96px!important;
  min-height:96px!important;
  flex:0 0 96px!important;
  aspect-ratio:1/1!important;
  align-self:flex-start!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:50%!important;
  line-height:0!important;
  background:#eef2f6!important;
  box-sizing:border-box!important;
}
.grid-2-side .detail-card .avatar.lg.grh-avatar-photo>img.grh-nav-avatar-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  transform:none!important;
}

.grh-profile-tools{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:18px;margin:0 0 22px}
.grh-profile-photo-card,.grh-location-card{background:#fff;border:1px solid var(--grh-line);border-radius:22px;box-shadow:var(--grh-shadow-sm);padding:22px}
.grh-profile-photo-card{display:flex;align-items:center;gap:18px}.grh-profile-photo-wrap{width:112px;height:112px;flex:0 0 112px}.grh-profile-photo,.grh-profile-photo-fallback{width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 1px var(--grh-line),0 12px 32px rgba(11,31,58,.12)}.grh-profile-photo-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#0b1f3a,#204f7d);color:#fff;font-size:36px;font-weight:800}
.grh-profile-kicker{margin-bottom:4px;color:#9a6a00;font-size:10px;font-weight:900;letter-spacing:.14em}.grh-profile-photo-card h2,.grh-location-card h2{margin:0 0 5px;font-size:22px}.grh-profile-photo-card p,.grh-location-card p{margin:0 0 14px;font-size:13px;line-height:1.6}.grh-upload-profile-btn{cursor:pointer}
.grh-location-card{grid-column:2}.grh-location-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.grh-location-head p{max-width:680px}.grh-saved-location{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--grh-line)}.grh-saved-location:first-child{border-top:0}.grh-location-pin{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff6d9}.grh-location-title{color:var(--grh-navy);font-size:14px;font-weight:800}.grh-location-address{margin-top:3px;color:var(--grh-muted);font-size:12px}.grh-location-meta{margin-top:5px;color:#167353;font-size:11px;font-weight:700}.grh-location-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.grh-empty-location{padding:18px;border:1px dashed #cfd8e4;border-radius:14px;background:#fafbfd;color:var(--grh-muted);font-size:13px;line-height:1.6}

.grh-location-form{margin-top:18px;padding:20px;border:1px solid var(--grh-line);border-radius:18px;background:#fbfcfe}.grh-location-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.grh-location-form-head h3{margin:5px 0 0;font-size:20px}.grh-step-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#fff2bd;color:#7b5600;font-size:9px;font-weight:900;letter-spacing:.12em}.grh-map-shell{position:relative;overflow:hidden;border-radius:18px;border:1px solid #d9e1eb;background:#eaf0f6;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.grh-location-map{height:330px;width:100%;z-index:1}.grh-map-crosshair{pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-75%);z-index:500;display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--grh-gold);color:var(--grh-navy);font-size:0;box-shadow:0 8px 22px rgba(11,31,58,.24);opacity:.20}.grh-map-status{margin:10px 0 16px;padding:10px 12px;border-radius:12px;background:#f3f8ff;color:#35577e;font-size:12px;line-height:1.5}.grh-location-details-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.grh-location-details-head strong{font-size:14px;color:var(--grh-navy)}.grh-location-details-head small{width:100%;color:var(--grh-muted);font-size:11px;margin-top:2px}.grh-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grh-location-form .field{margin-bottom:12px}.grh-default-check{display:flex;align-items:center;gap:8px;font-size:13px}.grh-default-check input{width:auto}.grh-gps-security-note{margin:14px 0;padding:13px 14px;border-radius:13px;background:#eef7f3;border:1px solid #cce7da;color:#235f49;font-size:12px;line-height:1.5}.grh-location-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.grh-location-form-actions .btn{min-width:140px}

.leaflet-container{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.leaflet-control-zoom a{color:var(--grh-navy)!important}.leaflet-bar{border:0!important;box-shadow:0 4px 16px rgba(11,31,58,.18)!important}

@media(max-width:980px){.grh-profile-tools{grid-template-columns:1fr}.grh-location-card{grid-column:auto}.grh-location-map{height:300px}}
@media(max-width:700px){
  .grid-2-side .detail-card .avatar.lg.grh-avatar-photo{width:92px!important;height:92px!important;min-width:92px!important;min-height:92px!important;flex-basis:92px!important}
  .grh-profile-photo-card{align-items:flex-start}.grh-profile-photo-wrap,.grh-profile-photo,.grh-profile-photo-fallback{width:82px;height:82px;flex-basis:82px}.grh-location-head{flex-direction:column}.grh-location-grid{grid-template-columns:1fr}.grh-saved-location{grid-template-columns:auto 1fr}.grh-location-actions{grid-column:1/-1;justify-content:flex-start}.grh-location-form{padding:14px}.grh-location-form-head{flex-direction:column}.grh-location-form-head .btn{width:100%}.grh-location-map{height:270px}.grh-location-form-actions{display:grid;grid-template-columns:1fr 1fr}.grh-location-form-actions .btn{min-width:0;width:100%}}
@media(max-width:430px){.grid-2-side .detail-card .avatar.lg.grh-avatar-photo{width:88px!important;height:88px!important;min-width:88px!important;min-height:88px!important;flex-basis:88px!important}.grh-location-form-actions{grid-template-columns:1fr}.grh-location-form-actions #grh-location-submit{order:-1}.grh-location-map{height:245px}}
