/* Карта зон доступности фитнес-клуба. Цвета берутся из переменных страницы, запасные значения рядом. */
.gf{--gf-ink:var(--ink,#1c1f1c);--gf-soft:var(--soft,#4d4d4f);--gf-mute:var(--mute,#6b6b6e);
  --gf-red:var(--red,#a6192e);--gf-line:var(--line,#e2e2e2);--gf-grey:var(--grey,#f4f4f4);
  container-type:inline-size;color:var(--gf-ink);margin:1.6em 0;min-height:560px}
.gf *{box-sizing:border-box}
.gf-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:12px}
.gf-bar__t{font-weight:700;margin-right:4px}
.gf-bar__h{color:var(--gf-mute);font-size:.86em;flex-basis:100%}
.gf-pre{font:inherit;font-size:.9em;font-weight:600;line-height:1;padding:10px 14px;min-height:40px;
  border:1px solid var(--gf-ink);background:#fff;color:var(--gf-ink);border-radius:2px;cursor:pointer;
  transition:background-color .15s,color .15s}
.gf-pre:hover{background:var(--gf-grey)}
.gf-pre[aria-pressed=true]{background:var(--gf-ink);color:#fff}
.gf-pre:focus-visible,.gf input:focus-visible{outline:2px solid var(--gf-red);outline-offset:2px}
.gf-map{position:relative;height:clamp(360px,62cqw,520px);background:#f3f2ee;border:1px solid var(--gf-line)}
.gf-load{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--gf-mute);font-size:.95em}
.gf-map .maplibregl-canvas{cursor:crosshair}
.gf-pin{width:26px;height:36px;cursor:grab;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 36'%3E%3Cpath d='M13 35C13 35 1.5 21.5 1.5 12.6a11.5 11.5 0 0 1 23 0C24.500 21.500 13 35 13 35Z' fill='%23a6192e' stroke='%23fff' stroke-width='2'/%3E%3Ccircle cx='13' cy='12.600' r='4.200' fill='%23fff'/%3E%3C/svg%3E")}
.gf-pin:active{cursor:grabbing}
.gf-leg{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;margin:10px 0 0;padding:0;font-size:.82em;color:var(--gf-soft)}
.gf-leg li{display:flex;align-items:center;gap:7px;margin:0;padding:0}
.gf-leg li::before{content:none}
.gf-leg i{width:14px;height:14px;flex:none;display:block}
.gf-leg .gf-leg__club{border-radius:50%;background:var(--gf-ink);width:11px;height:11px}
.gf-leg .gf-leg__ring{border-radius:50%;border:1.5px dashed var(--gf-ink)}
.gf-out{display:grid;grid-template-columns:1fr;gap:28px;margin-top:24px}
@container (min-width:640px){.gf-out{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px}}
.gf-t{width:100%;border-collapse:collapse;font-size:.95em;font-variant-numeric:tabular-nums}
.gf-t caption,.gf-calc__t{text-align:left;font-weight:700;font-size:1em;margin:0 0 6px;padding:0 0 8px;
  border-bottom:2px solid var(--gf-ink);caption-side:top}
.gf-t th,.gf-t td{padding:10px 0;border-bottom:1px solid var(--gf-line);vertical-align:baseline;background:none}
.gf-t th{text-align:left;font-weight:400;color:var(--gf-soft);padding-right:16px}
.gf-t td{text-align:right;font-weight:700;white-space:nowrap}
.gf-sl{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;margin:12px 0 0;font-size:.95em}
.gf-sl span{color:var(--gf-soft)}
.gf-sl output{font-weight:700;font-variant-numeric:tabular-nums}
.gf-sl input{grid-column:1/-1;width:100%;height:32px;margin:0;accent-color:var(--gf-red);cursor:pointer}
.gf-res{margin:14px 0 0;font-variant-numeric:tabular-nums}
.gf-res div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:1px solid var(--gf-line)}
.gf-res dt{color:var(--gf-soft);font-size:.95em}
.gf-res dd{margin:0;font-weight:700;white-space:nowrap}
.gf-res .gf-res__main{border-top:2px solid var(--gf-ink)}
.gf-res .gf-res__main dt{color:var(--gf-ink);font-weight:600}
.gf-res .gf-res__main dd{font-size:1.5em;color:var(--gf-red);line-height:1.1}
.gf-note{margin:20px 0 0;font-size:.95em;max-width:68ch}
.gf-note:empty{display:none}
.gf-note--warn{color:var(--gf-mute);font-size:.86em;margin-top:8px}
.gf-src{margin:14px 0 0;font-size:.8em;line-height:1.5;color:var(--gf-mute);max-width:78ch}
.gf-src a{color:inherit}
@media (prefers-reduced-motion:reduce){.gf-pre{transition:none}}
