/* ===== Hero ===== */
.hero-skavvurex {
  background: linear-gradient(180deg, var(--color-bg-alt) 0%, var(--color-bg) 70%);
  border-bottom: 1px solid var(--color-border);
  padding: 3.6rem 0 2.4rem;
}
.hero-skavvurex__inner { display: flex; flex-wrap: wrap; gap: 2.5rem; align-items: center; }
.hero-skavvurex__copy { flex: 1 1 460px; min-width: 0; }
.hero-skavvurex__lede { font-size: 1.05rem; max-width: 520px; }
.hero-skavvurex__actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.6rem; }
.hero-skavvurex__art { flex: 1 1 280px; min-width: 0; display: flex; justify-content: center; }

.tri-deco { width: 100%; max-width: 260px; }
.tri-deco svg { width: 100%; height: auto; }

/* ===== Triathlon (three-discipline time) widget ===== */
.tri-widget {
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius);
  padding: 2rem; display: flex; flex-wrap: wrap; gap: 2.2rem;
}
.tri-widget__controls { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 1.6rem; }
.tri-slider__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.4rem; }
.tri-slider__name { font-family: var(--ff-head); font-weight: 700; font-size: 0.95rem; letter-spacing: 0.01em; }
.tri-slider__value { font-family: var(--ff-head); font-weight: 700; color: var(--color-violet); font-size: 1.1rem; }
.tri-slider__hint { font-size: 0.86rem; margin: 0.4rem 0 0; }
input[type="range"] {
  -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 3px;
  background: var(--color-border); padding: 0; cursor: pointer;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%;
  background: var(--color-violet); border: 3px solid #ffffff; box-shadow: 0 0 0 1px var(--color-border);
  cursor: pointer;
}
input[type="range"]::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 50%; background: var(--color-violet);
  border: 3px solid #ffffff; box-shadow: 0 0 0 1px var(--color-border); cursor: pointer;
}

.tri-widget__display { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 1.2rem; }

.tri-bar {
  display: flex; width: 100%; height: 40px; border-radius: 8px; overflow: hidden;
  border: 1px solid var(--color-border);
}
.tri-bar__seg {
  flex-grow: 0; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  font-size: 0.72rem; font-weight: 700; color: #ffffff; overflow: hidden; white-space: nowrap;
  transition: flex-basis 0.2s ease;
}
.tri-bar__seg--swim { background: var(--color-cyan); }
.tri-bar__seg--bike { background: var(--color-violet); }
.tri-bar__seg--run { background: var(--color-violet-dark); }
.tri-bar__seg--trans { background: var(--color-border); }

.tri-legend { display: flex; flex-wrap: wrap; gap: 1rem; }
.tri-legend__item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--color-muted); }
.tri-legend__dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.tri-legend__dot--swim { background: var(--color-cyan); }
.tri-legend__dot--bike { background: var(--color-violet); }
.tri-legend__dot--run { background: var(--color-violet-dark); }
.tri-legend__time { font-family: var(--ff-head); font-weight: 700; color: var(--color-ink); }

.tri-readout { display: flex; gap: 1.6rem; flex-wrap: wrap; }
.tri-readout__item { flex: 1 1 100px; min-width: 0; text-align: center; }
.tri-readout__num { display: block; font-family: var(--ff-head); font-weight: 700; font-size: 1.7rem; color: var(--color-violet-dark); }
.tri-readout__label { display: block; font-size: 0.76rem; color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 0.2rem; }
.tri-category {
  display: inline-block; align-self: flex-start; background: var(--color-cyan); color: #04282b;
  font-family: var(--ff-head); font-weight: 700; letter-spacing: 0.01em;
  font-size: 0.92rem; padding: 0.5em 1.1em; border-radius: var(--radius);
}
