/* /notificacoes: cartão com o sino e o interruptor da preferência. Só tokens do design system. */
@layer paginas {
  .notificacao {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4) var(--space-6);
    max-width: 52rem;
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background-color: var(--color-surface);
  }

  .notificacao__corpo {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    min-width: min(100%, 16rem);
  }

  /* Interruptor: o próprio checkbox, desenhado com CSS (continua um checkbox para o leitor de tela). */
  .notificacao__chave {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    min-height: var(--target-min);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
  }

  .notificacao__chave input {
    appearance: none;
    flex: none;
    position: relative;
    width: 2.75rem;
    height: 1.5rem;
    margin: 0;
    border: 1px solid var(--color-border-control);
    border-radius: var(--radius-pill);
    background-color: var(--color-surface-2);
    cursor: pointer;
  }

  .notificacao__chave input::after {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: 0.125rem;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background-color: var(--color-fg-muted);
  }

  .notificacao__chave input:checked {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
  }

  .notificacao__chave input:checked::after {
    transform: translateX(1.25rem);
    background-color: var(--color-on-accent);
  }

  .notificacao__chave input:disabled {
    cursor: not-allowed;
    opacity: 0.6;
  }
  :where(html[data-movimento="ligado"]) .notificacao__chave input,
  :where(html[data-movimento="ligado"]) .notificacao__chave input::after {
    transition:
      background-color 0.18s ease,
      transform 0.18s ease;
  }
}
