/* Practitioners on the front-page globe (per request, 2026-10-13): the chip under the globe and the panel
   of states and acupuncturists. See public/js/globe-practitioners.js and src/globe-practitioners.js
   (the on/off switch). */
.fp-hero.gp-over-lit { cursor: pointer; }

.gp-chip { position: absolute; z-index: 5; left: 16px; bottom: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; max-width: calc(100% - 32px); padding: 6px 8px 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .92); box-shadow: 0 6px 18px -10px rgba(20, 35, 43, .5); font-size: 0.85rem; color: #33444a; }
.gp-chip-country { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 0; border-radius: 999px; background: #0f7a63; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.gp-chip-country:hover { background: #0a5c4a; }
.gp-chip-country .gp-count { background: rgba(255, 255, 255, .25); }

.gp-count { display: inline-block; min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #e3f2ec; color: #0f5f50; font-size: 0.8rem; font-weight: 700; text-align: center; }

.gp-panel { position: absolute; z-index: 6; right: 16px; top: 16px; width: 320px; max-width: calc(100% - 32px); max-height: calc(100% - 32px); overflow: auto; padding: 14px 16px 12px; border-radius: 14px; background: #fff; box-shadow: 0 18px 40px -18px rgba(20, 35, 43, .55); color: #14232b; text-align: left; }
.gp-panel[hidden] { display: none; }
.gp-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gp-panel h2 { margin: 0; border: 0; padding: 0; font-size: 1.15rem; font-weight: 800; }
.gp-x { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #f1f4f3; color: #33444a; font-size: 1.2rem; line-height: 1; cursor: pointer; }
.gp-back { border: 0; background: none; padding: 0; color: #0f7a63; font: inherit; font-weight: 600; cursor: pointer; }
.gp-sub { margin: 4px 0 10px; color: #5b6b72; font-size: 0.88rem; }
.gp-states, .gp-people { list-style: none; margin: 0; padding: 0; }
.gp-states li + li, .gp-people li + li { border-top: 1px solid #eef1f0; }
.gp-states a, .gp-states button { width: 100%; box-sizing: border-box; text-decoration: none; display: flex; justify-content: space-between; align-items: center; padding: 8px 4px; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.gp-states a:hover, .gp-states button:hover { background: #f4faf7; }
.gp-people a { display: block; padding: 8px 4px; color: inherit; text-decoration: none; }
.gp-people a:hover { background: #f4faf7; }
.gp-name { display: block; font-weight: 700; color: #0f5f60; }
.gp-verified { color: #0f7a63; }
.gp-headline { display: block; font-size: 0.85rem; color: #4c5d64; }
.gp-place { display: block; font-size: 0.82rem; color: #7d8a90; }
.gp-foot { margin: 10px 0 0; font-size: 0.85rem; }
.gp-foot a { color: #0f7a63; font-weight: 600; }

@media (max-width: 760px) {
  .gp-panel { position: fixed; left: 8px; right: 8px; top: auto; bottom: 8px; width: auto; max-width: none; max-height: 60vh; }
  .gp-chip { bottom: 76px; }
}
