/* =============================================================================
   COMPONENT: reminders — the Reminders surface (Dusk slice 7). Each row shows
   big time digits, the title (+ an "Alarmed" badge), a schedule line, and an
   on/off switch. A switched-off reminder dims (its config is kept).
   ========================================================================== */
@layer components {
  .reminder-list { list-style: none; margin: 0; padding: 0; }
  .reminder-list > li + li { border-block-start: var(--border-width) solid var(--color-border); }

  .reminder {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-block-size: var(--touch-target);
    padding: var(--space-sm) var(--space-md);
  }

  .reminder__time { flex: none; display: flex; align-items: baseline; gap: var(--space-3xs); min-inline-size: 4.25rem; }
  .reminder__digits { font-size: var(--text-2xl); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; line-height: 1; }
  .reminder__ampm { font-size: var(--text-sm); color: var(--color-text-muted); }

  .reminder__body { flex: 1; display: flex; flex-direction: column; gap: var(--space-3xs); min-inline-size: 0; }
  .reminder__title { font-weight: var(--weight-medium); display: flex; align-items: center; gap: var(--space-2xs); flex-wrap: wrap; }
  .reminder__title .badge { white-space: nowrap; flex: none; }
  .reminder__schedule { font-size: var(--text-sm); }
  .reminder__team { font-weight: var(--weight-medium); color: var(--color-text); }

  /* Off = the whole row dims; the switch (off) + text still read it (a11y). */
  .reminder--off { opacity: 0.55; }

  /* button_to wraps the switch in a form — let the switch be the flex child. */
  .reminder__toggle-form { display: contents; }

  .reminder-group + .reminder-group { margin-block-start: var(--space-lg); }

  /* By Care Team: the recipient name is a grouping heading, not a muted kicker. */
  .reminder-group__title {
    font-size: var(--text-base);
    font-weight: var(--weight-bold);
    color: var(--color-text);
  }

  /* Title + circled-i hint. Position the panel against the full heading
     row so overflow:auto on <main> does not clip the copy. */
  .reminders-heading {
    --cluster-gap: var(--space-2xs);
    --cluster-align: center;
    position: relative;
    inline-size: 100%;
  }

  .reminders-hint { flex: none; }

  /* Icon-only control: drop the default button chrome from base.css (raised
     background, border, side padding) so the circled-i glyph reads on its own
     instead of sitting inside a second outline. The square 44px box keeps the
     touch target and makes the hover tint a circle, not a pill. */
  .reminders-hint__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--touch-target);
    min-block-size: var(--touch-target);
    padding: 0;
    color: var(--color-text-muted);
    background: transparent;
    border: 0;
    border-radius: var(--radius-pill);
  }
  .reminders-hint__button:hover,
  .reminders-hint__button[aria-expanded="true"] {
    color: var(--accent);
    background: var(--accent-tint);
  }
  .reminders-hint__button:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
  }

  .reminders-hint__panel {
    position: absolute;
    z-index: var(--z-header);
    inset-block-start: 100%;
    inset-inline-start: 0;
    margin-block-start: var(--space-3xs);
    padding: var(--space-sm) var(--space-md);
    inline-size: min(36ch, 100%);
    background: var(--surface-raised);
    color: var(--color-text);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    font-size: var(--text-sm);
    font-weight: var(--weight-normal);
    line-height: var(--leading-normal);
  }
}
