/* Slot Reminder Toggle
 * Reminder dropdown and badge shown next to the star button on starred slots.
 * Uses <details> for CSS-only dropdown (no Stimulus needed).
 */

@layer components {

  .reminder-toggle {
    display: inline-flex;
    align-items: center;
  }

  /* ── Active reminder badge ── */

  .reminder-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25em 0.5em;
    font-size: 0.75rem;
    font-weight: 600;
    color: oklch(var(--lch-golden));
    background: color-mix(in oklch, oklch(var(--lch-golden)) 10%, transparent);
    border-radius: var(--radius-pill);
    white-space: nowrap;
  }

  .reminder-badge__icon {
    font-size: 0.8125rem;
  }

  .reminder-badge__cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    margin-inline-start: 0.125rem;
    font-size: 0.875rem;
    line-height: 1;
    color: var(--color-ink-muted);
    background: none;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: color 100ms ease, background 100ms ease;

    &:hover {
      color: var(--color-negative);
      background: color-mix(in oklch, var(--color-negative) 12%, transparent);
    }
  }

  .reminder-badge__cancel form { display: contents; }

  /* ── Dropdown trigger ── */

  .reminder-dropdown {
    position: relative;
  }

  .reminder-dropdown__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25em 0.5em;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--color-ink-muted);
    cursor: pointer;
    border-radius: var(--radius-pill);
    transition: color 100ms ease, background 100ms ease;
    list-style: none;

    &::-webkit-details-marker { display: none; }

    &:hover {
      color: var(--color-ink);
      background: color-mix(in oklch, var(--color-ink) 6%, transparent);
    }
  }

  .reminder-dropdown__icon {
    font-size: 0.8125rem;
  }

  /* ── Dropdown menu ── */

  .reminder-dropdown__menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    min-width: 10rem;
    margin-block-start: 0.25rem;
    padding: 0.25rem 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    box-shadow: 0 4px 16px color-mix(in oklch, var(--color-ink) 20%, transparent);
  }

  .reminder-dropdown__menu form { display: contents; }

  .reminder-dropdown__option {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--color-ink);
    text-align: start;
    background: none;
    border: none;
    cursor: pointer;
    transition: background 80ms ease;

    &:hover {
      background: color-mix(in oklch, var(--color-ink) 6%, transparent);
    }
  }
}
