/* Prévia: uma linha, com 2px de respiro de cada lado, em todas as grades com horas. */
.cal-regua:has(> .cal-carga) > .cal-carga {
  border-bottom: 0;
}
.cal-regua:has(> .cal-carga) .cal-carga-acoes {
  border-top: 0;
  padding-block: 5px;
}
.cal-regua > :is(.cal-faixa, .cal-regua-corpo) {
  /* A margem guarda 2px antes da linha de 1px; a borda guarda 2px depois.
     Ficam fora da rolagem para o respiro das horas não sumir ao rolar. */
  margin-top: 3px;
  border-top: 2px solid var(--grafite);
  box-shadow: 0 -1px 0 rgba(var(--contraste-rgb), 0.24);
}
.cal-regua > .cal-faixa {
  border-bottom: 0;
}

/* A separação das horas acompanha a faixa fixa, não o conteúdo rolado. */
.cal-regua > .cal-faixa::after,
.cal-regua:not(:has(> .cal-faixa)):not(:has(> .cal-carga)) > .cal-regua-topo::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 5px;
  pointer-events: none;
  background: linear-gradient(to bottom, var(--grafite) 0 2px,
    rgba(var(--contraste-rgb), 0.24) 2px 3px, var(--grafite) 3px 5px);
}
.cal-regua > .cal-faixa + .cal-regua-corpo {
  margin-top: 5px;
  border-top: 0;
  box-shadow: none;
}

/* Recuo real dos cards: dois pixels em cada lado da célula/faixa. */
.cal-regua .cal-faixa { row-gap: 0; }
.cal-regua .cal-faixa .cal-faixa-pilha { gap: 0; }
.cal-regua .cal-faixa .cal-faixa-bloco { margin: 2px; }
.cal-mes .cal-semana-linha { row-gap: 0; }
.cal-mes .cal-semana-linha .cal-pilula { margin: 2px; }
