/* Focused profile screen, using the same semantic roles as Workout. */
.gp-dialog { position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;border:0;border-radius:0;padding:0;background:var(--we-canvas);color:var(--we-ink);font:400 16px/1.5 Sora,system-ui,sans-serif;overflow:auto;overscroll-behavior:contain; }
.gp-dialog::backdrop { background:rgba(10,20,30,.5); }
.gp-dialog [hidden] { display:none; }
.gp-shell { min-height:100%;max-width:640px;margin:auto;display:flex;flex-direction:column; }
.gp-header { display:flex;align-items:center;justify-content:space-between;padding:max(8px,env(safe-area-inset-top)) 24px 8px;color:var(--we-secondary);font-size:var(--ui-meta,14px); }
.gp-button { border:0;min-height:48px;border-radius:12px;padding:12px 16px;font:600 15px/1.4 Sora,system-ui,sans-serif;background:transparent;color:var(--we-ink);cursor:pointer;touch-action:manipulation; }
.gp-button:hover { background:var(--we-selected); }
.gp-button:active { transform:scale(.99); }
.gp-button:disabled { opacity:.6;cursor:default; }
.gp-back { padding-left:0;font-size:16px; }
.gp-main { flex:1;padding:16px 24px 24px;min-width:0; }
.gp-main h1 { margin:0 0 24px;font-size:clamp(32px,8vw,44px);font-weight:700;letter-spacing:-.05em;line-height:1.15; }
.gp-main h2 { margin:0;font-size:clamp(25px,6vw,32px);line-height:1.2;letter-spacing:-.04em;overflow-wrap:anywhere; }
.gp-hero { height:176px;display:flex;align-items:center;justify-content:center;margin:8px 0 24px; }
.gp-hero img { display:block;width:176px;height:128px;object-fit:contain; }
.gp-hero picture,.gp-hero picture img { max-width:176px;max-height:160px;object-fit:contain; }
.gp-address { color:var(--we-secondary);font-size:16px;margin:12px 0 24px;max-width:420px;overflow-wrap:anywhere; }
.gp-capability { color:var(--we-secondary);font-size:14px;padding-top:20px;border-top:1px solid var(--we-line);margin:24px 0; }
.gp-primary { width:100%;background:var(--we-blue);color:var(--we-on-blue);min-height:56px;border-radius:16px;font-size:17px;box-shadow:inset 0 1px rgba(255,255,255,.45),inset 0 -3px rgba(22,62,99,.1),var(--we-shadow); }
.gp-primary:hover { background:var(--we-blue);filter:brightness(.98); }
.gp-secondary { display:block;width:100%;color:var(--we-secondary); }
.gp-intro { color:var(--we-secondary);margin:0 0 24px; }
.gp-dialog label { display:block;font-size:14px;font-weight:600;margin-bottom:8px; }
.gp-dialog label span { font-weight:400;color:var(--we-secondary); }
.gp-dialog input { width:100%;min-width:0;min-height:56px;padding:12px 16px;border:1px solid var(--we-line);border-radius:12px;background:var(--we-surface);color:var(--we-ink);font:400 16px/1.5 Sora,system-ui,sans-serif;box-sizing:border-box; }
.gp-dialog input::placeholder { color:var(--we-secondary);opacity:1; }
.gp-button:focus-visible,.gp-dialog input:focus-visible,.gp-results button:focus-visible { outline:3px solid var(--we-blue);outline-offset:3px; }
.gp-main h1:focus { outline:0; }
.gp-near { padding-left:0;color:var(--we-secondary); }
.gp-search-status:empty,.gp-status:empty { display:none; }
.gp-search-status,.gp-status { font-size:14px;color:var(--we-secondary);margin:8px 0 16px; }
.gp-results { display:grid;margin:8px 0 24px; }
.gp-results.hide { display:none; }
.gp-results .gym-row { width:100%;display:flex;gap:16px;align-items:center;text-align:left;min-height:80px;padding:16px 0;border:0;border-bottom:1px solid var(--we-line);border-radius:0;box-shadow:none;background:transparent;color:var(--we-ink);font:inherit;cursor:pointer; }
.gp-results .gym-t { display:grid;gap:4px;min-width:0; }
.gp-results .gym-t b { font-size:16px;font-weight:600;overflow-wrap:anywhere; }
.gp-results .gym-t small { color:var(--we-secondary);font-size:var(--ui-meta,14px);line-height:1.5;overflow-wrap:anywhere; }
.gp-results .gym-pin { flex:0 0 48px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0;background:none;border:0;box-shadow:none; }
.gp-results .gym-pin img { width:48px;height:48px;object-fit:contain; }
.gp-results .gym-pin:not(.gym-logo)::before { content:'↗';font-style:normal;font-size:24px; }
.gp-chosen { display:flex;gap:16px;align-items:center;margin:24px 0;padding:20px 16px;background:var(--we-selected);border-radius:16px; }
.gp-chosen-art { width:56px;flex:0 0 56px; }
.gp-chosen-art img { width:56px;height:56px;object-fit:contain; }
.gp-chosen b,.gp-chosen span { display:block;overflow-wrap:anywhere; }
.gp-chosen span { color:var(--we-secondary);font-size:14px;margin-top:4px; }
.gp-note { color:var(--we-secondary);font-size:var(--ui-meta,14px);margin:20px 0 0; }
.gp-footer { position:sticky;bottom:0;background:var(--we-canvas);border-top:1px solid var(--we-line);padding:16px 24px max(16px,env(safe-area-inset-bottom)); }
.gp-dialog:has(input:focus) .gp-footer { position:static; }
.gp-error { color:var(--we-danger);font-size:14px;line-height:1.5;margin:0 0 16px; }
body.pm-premium #pfGymRows .gp-entry { display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left; }
.gp-entry-art { flex:0 0 48px;width:48px; }
.gp-entry-art img { width:48px;height:56px;object-fit:contain; }
body.pm-premium #pfGymRows .gp-entry>span:last-child { min-width:0;width:100%; }
body.pm-premium #pfGymRows .gp-entry .pfr-l,body.pm-premium #pfGymRows .gp-entry .pfr-v { display:block;max-width:none;text-align:left; }
.gp-entry .pfr-v { margin-top:6px; }
.gp-entry small { display:block;color:var(--we-secondary);font-size:var(--ui-meta,14px);line-height:1.5;margin-top:6px;overflow-wrap:anywhere; }
@media(min-width:900px) { .gp-dialog { inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);max-width:720px;margin:auto;border-radius:24px;box-shadow:0 24px 64px rgba(0,0,0,.2); } .gp-main { padding:24px 40px; } .gp-header,.gp-footer { padding-left:40px;padding-right:40px; } }
@media(max-height:680px) { .gp-hero { height:104px;margin:0 0 16px; } .gp-hero img { height:96px;width:128px; } .gp-main h1 { margin-bottom:16px; } }
@media(prefers-reduced-motion:reduce) { .gp-button:active { transform:none; } }
