/* CalcMango Race Pace Calculator — scoped under .cm-racepace only. */
.cm-racepace { max-width: 720px; margin: 0 auto; color: #0B1220; font-size: 16px; line-height: 1.55; }
.cm-racepace * { box-sizing: border-box; }
.cm-racepace h3 { color: #0B1220; margin: 0 0 0.5em; }
.cm-racepace .cm-rp-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.cm-racepace .cm-rp-presets button {
  background: #fff; color: #0B1220; border: 2px solid #0B1220; border-radius: 999px;
  padding: 6px 14px; cursor: pointer; font-size: 14px; font-weight: 600;
}
.cm-racepace .cm-rp-presets button.is-active { background: #22D3EE; border-color: #22D3EE; }
.cm-racepace .cm-rp-row { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; align-items: end; }
.cm-racepace .cm-rp-field { flex: 1 1 140px; }
.cm-racepace .cm-rp-field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.cm-racepace .cm-rp-field input, .cm-racepace .cm-rp-field select {
  width: 100%; padding: 10px 12px; border: 2px solid #0B1220; border-radius: 8px; font-size: 16px; background: #fff; color: #0B1220;
}
.cm-racepace .cm-rp-time { display: flex; gap: 8px; }
.cm-racepace .cm-rp-time .cm-rp-field { flex: 1 1 60px; }
.cm-racepace .cm-rp-submit {
  background: #67E8F9; color: #0B1220; border: none; border-radius: 8px;
  padding: 13px 26px; font-size: 17px; font-weight: 700; cursor: pointer; width: 100%;
}
.cm-racepace .cm-rp-submit:hover { background: #22D3EE; }
.cm-racepace .cm-rp-error { background: #FDE8E8; color: #7F1D1D; border: 1px solid #F5C2C2; border-radius: 8px; padding: 10px 14px; margin: 14px 0; }
.cm-racepace .cm-rp-hero { background: #0B1220; color: #fff; border-radius: 12px; padding: 20px; text-align: center; margin: 18px 0; }
.cm-racepace .cm-rp-hero .cm-rp-big { font-size: 40px; font-weight: 800; color: #67E8F9; line-height: 1.15; }
.cm-racepace .cm-rp-hero .cm-rp-sub { color: #CBD5E1; margin-top: 4px; }
.cm-racepace .cm-rp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 14px 0; }
.cm-racepace .cm-rp-card { border: 2px solid #E2E8F0; border-radius: 10px; padding: 12px 14px; }
.cm-racepace .cm-rp-card strong { display: block; font-size: 19px; }
.cm-racepace .cm-rp-card span { font-size: 13px; color: #475569; }
.cm-racepace table { width: 100%; border-collapse: collapse; margin: 10px 0 18px; font-size: 15px; }
.cm-racepace th { background: #0B1220; color: #fff; text-align: left; padding: 9px 12px; }
.cm-racepace td { padding: 8px 12px; border-bottom: 1px solid #E2E8F0; }
.cm-racepace tr:nth-child(even) td { background: #F8FAFC; }
.cm-racepace .cm-rp-partial { background: #67E8F9; color: #0B1220; border-radius: 999px; padding: 1px 8px; font-size: 12px; font-weight: 700; }
.cm-racepace .cm-rp-note { font-size: 14px; color: #475569; }
.cm-racepace .cm-rp-split-head { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.cm-racepace .cm-rp-split-head select { padding: 8px 10px; border: 2px solid #0B1220; border-radius: 8px; font-size: 15px; background: #fff; }
@media (max-width: 520px) {
  .cm-racepace .cm-rp-hero .cm-rp-big { font-size: 32px; }
}
