/* Feniks – Trasy Biegów. All rules scoped to .ftb so the theme is untouched. */
.ftb{
  --ftb-surface:#ffffff; --ftb-fg:#1c231d; --ftb-muted:#5d665e; --ftb-line:#d5d9d0;
  --ftb-c470:#eab308; --ftb-c637:#7c3aed; --ftb-c805:#2563eb; --ftb-c1050:#e11d48; --ftb-call:#5d665e;
  --ftb-display:"Barlow Condensed","Roboto Condensed","Arial Narrow",Arial,sans-serif;
  display:grid; gap:16px; max-width:960px; margin:0 auto 24px; color:var(--ftb-fg);
  font-size:15px; line-height:1.5; box-sizing:border-box;
}
.ftb *, .ftb *::before, .ftb *::after{box-sizing:border-box}
.ftb-eyebrow{font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--ftb-muted)}
.ftb .ftb-title{font-family:var(--ftb-display);font-weight:800;font-size:clamp(22px,5.4vw,44px);line-height:1;margin:2px 0 0;padding:0;text-transform:uppercase;overflow-wrap:anywhere;text-wrap:balance;color:var(--ftb-fg)}

.ftb-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
@media (max-width:620px){.ftb-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.ftb-all{grid-column:1/-1}}
.ftb-c470{--c:var(--ftb-c470)} .ftb-c637{--c:var(--ftb-c637)} .ftb-c805{--c:var(--ftb-c805)} .ftb-c1050{--c:var(--ftb-c1050)} .ftb-all{--c:var(--ftb-call)}

/* reset theme button styles, then draw our own */
.ftb button.ftb-chip{
  all:unset; box-sizing:border-box; display:block; min-width:0; cursor:pointer; text-align:left;
  border:3px solid var(--c); border-radius:12px; padding:8px 12px 10px;
  background:#fff; background:color-mix(in srgb,var(--c) 10%,#fff); color:var(--ftb-fg);
  transition:background .2s,box-shadow .2s;
}
.ftb button.ftb-chip:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 30%,transparent)}
.ftb button.ftb-chip:focus-visible{outline:3px solid var(--c);outline-offset:2px}
.ftb-chip-name{display:block;font-family:var(--ftb-display);font-weight:800;font-size:22px;line-height:1.05;color:var(--c);color:color-mix(in srgb,var(--c) 75%,#1c231d);overflow-wrap:anywhere}
.ftb-chip-desc{display:block;font-size:12.5px;line-height:1.3;margin-top:4px;opacity:.78;overflow-wrap:break-word;hyphens:auto}
.ftb button.ftb-chip[aria-pressed="true"]{background:var(--c);color:#fff}
.ftb button.ftb-chip[aria-pressed="true"] .ftb-chip-name{color:#fff}
.ftb button.ftb-chip[aria-pressed="true"] .ftb-chip-desc{opacity:.95}
@media (max-width:620px){.ftb-chip-name{font-size:20px}}

.ftb-map{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--ftb-line);aspect-ratio:1370/1407;width:100%;max-width:100%;background:#e8eedd}
.ftb-map svg{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;display:block}
.ftb-bg{transition:filter .4s}
.ftb-map.sel .ftb-bg{filter:saturate(.55) brightness(.97)}

.ftb .r{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .35s}
.ftb .r.base{stroke-width:7;opacity:.9;stroke-dasharray:14 11}
.ftb .r.on{stroke-width:12;opacity:1;stroke-dasharray:24 14;animation:ftb-fade .5s ease-out both}
.ftb .r.off{opacity:0}
.ftb .halo{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:24;opacity:0;transition:opacity .35s}
.ftb .halo.base{stroke-width:13;opacity:.5}
.ftb .halo.on{stroke-width:22;opacity:.8}
.ftb .draw{animation:ftb-draw 1.5s ease-out both}
@keyframes ftb-fade{from{opacity:0}to{opacity:1}}
@keyframes ftb-draw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.ftb .draw,.ftb .r.on{animation:none}}
.ftb .lbl{font-family:var(--ftb-display);font-weight:800;fill:#fff;text-anchor:middle;dominant-baseline:central}
.ftb .tag text{font-family:var(--ftb-display);font-weight:800;font-size:28px;letter-spacing:.06em;fill:#fff}
.ftb .pond{font-family:var(--ftb-display);font-weight:700;font-size:34px;letter-spacing:.2em;fill:#fff;text-anchor:middle;paint-order:stroke;stroke:rgba(10,40,70,.55);stroke-width:6px}

.ftb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--ftb-line);border:1px solid var(--ftb-line);border-radius:12px;overflow:hidden}
.ftb-fact{background:var(--ftb-surface);padding:12px 16px;min-width:0}
.ftb-fact span{display:block;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--ftb-muted)}
.ftb-fact strong{display:block;overflow-wrap:anywhere;hyphens:auto;line-height:1.15;font-family:var(--ftb-display);font-weight:800;font-size:22px}
@media (max-width:620px){.ftb-fact strong{font-size:19px}}
.ftb .ftb-note{color:var(--ftb-muted);font-size:13px;margin:0;max-width:70ch}
.ftb .ftb-note a{color:inherit;text-decoration:underline}
