/* קלורי — page: היעד שלי. Every selector is prefixed .pg-goal (SPEC §3, §9.8).
   Shared components come from components.css; tokens from tokens.css. */

.pg-goal__form {
  display: grid;
  gap: var(--sp-4);
}
.pg-goal__grid {
  display: grid;
  gap: var(--sp-4);
  align-items: start;
}
.pg-goal__col {
  display: grid;
  gap: var(--sp-4);
  min-inline-size: 0;
}
@media (min-width: 900px) {
  .pg-goal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); }
}

.pg-goal .card .toggle { padding-inline: 0; }
.pg-goal .card > .field:last-child { margin-block-end: 0; }
.pg-goal .field { scroll-margin-block: calc(var(--header-h) + var(--sp-4)) 120px; }
.pg-goal p { margin: 0; }

/* ---------- goal / pace radio cards ---------- */
.pg-goal__desc { display: block; color: var(--c-text-2); }
.pg-goal__meta {
  display: block;
  margin-block-start: 2px;
  font-weight: 600;
  color: var(--c-primary-text);
}
.pg-goal .segmented--stack .segmented__label { font-size: var(--fs-md); }
.pg-goal .segmented--stack .segmented__hint { font-size: var(--fs-sm); }
.pg-goal__pct {
  font-weight: 500;
  color: var(--c-text-2);
  font-variant-numeric: tabular-nums;
}

/* ---------- calories ---------- */
.pg-goal__hero {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.pg-goal__kcal { color: var(--c-primary-text); }
.pg-goal__kv { display: grid; }
.pg-goal__manual {
  display: grid;
  gap: var(--sp-2);
  justify-items: start;
}
.pg-goal__manual .field { margin: 0; inline-size: 100%; }
.pg-goal__projection { font-weight: 600; }

/* ---------- macros ---------- */
.pg-goal__macro-line {
  font-size: var(--fs-sm);
  line-height: 1.7;
}
.pg-goal__macro-fields .field--number .input-unit { max-inline-size: none; }
.pg-goal__sum--bad { color: var(--c-danger); font-weight: 600; }
.pg-goal__slider { margin: 0; }
.pg-goal__slider-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  min-block-size: var(--hit);
}
.pg-goal__slider-row input[type="range"] {
  flex: 1 1 auto;
  min-inline-size: 0;
  direction: ltr;
  accent-color: var(--c-primary);
  block-size: var(--hit);
  margin: 0;
  cursor: pointer;
}
.pg-goal__slider-value {
  min-inline-size: 2.5em;
  font-weight: 700;
  text-align: center;
}

/* ---------- meals / water ---------- */
.pg-goal__times .field { margin: 0; }
.pg-goal__times .input { inline-size: 100%; }
.pg-goal__water {
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--c-water);
}

/* ---------- actions ---------- */
.pg-goal__actions { gap: var(--sp-2); }
.pg-goal__actions .btn--ghost { flex: none; }

/* stacked radio cards must grow with their content (components.css keeps flex: 1 1 0 from the row layout) */
.pg-goal .segmented--stack .segmented__item { flex: 0 0 auto; }
