/* Site-wide "Cite this page" modal (views/partials/cite-modal.ejs).
   Matches the inline cite block: light card, small blue uppercase label,
   dark pill buttons. */
.to-cite-modal[hidden] { display: none !important; }
.to-cite-modal {
  position: fixed; inset: 0; z-index: 9500;
  display: flex; align-items: center; justify-content: center;
  padding: 16px; font-family: 'Roboto', sans-serif;
}
.to-cite-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 29, 56, 0.55); }
.to-cite-modal__panel {
  position: relative; width: 100%; max-width: 520px;
  max-height: calc(100vh - 32px); overflow-y: auto;
  background: #F5F5F5; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 16px;
  box-shadow: 0 24px 60px rgba(19, 19, 19, 0.28);
  padding: 1.5rem 1.5rem 1.25rem;
}
.to-cite-modal__label {
  margin: 0 2rem 0.5rem 0; color: #5B8FA8;
  font-family: 'Roboto', sans-serif; font-size: 0.75rem; line-height: 1rem;
  font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
}
.to-cite-modal__intro { margin: 0 0 0.75rem; color: #131313; font-size: 0.95rem; line-height: 1.5; }
.to-cite-modal__text {
  margin: 0 0 1rem; color: #4C4C4C; font-size: 0.875rem; line-height: 1.6;
  background: #FFFFFF; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 10px;
  padding: 0.75rem 0.875rem; overflow-wrap: anywhere;
}
.to-cite-modal__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.to-cite-modal__btn {
  border: none; border-radius: 9999px; cursor: pointer;
  background: #1D1D1D; color: #FFFFFF;
  padding: 0.5rem 1rem; font: 500 0.875rem/1.25rem 'Roboto', sans-serif;
  min-width: 8.5rem;
}
.to-cite-modal__btn:hover { background: #333333; }
.to-cite-modal__close {
  position: absolute; top: 8px; right: 10px;
  background: none; border: none; cursor: pointer;
  font-size: 1.6rem; line-height: 1; color: #6B7280; padding: 4px 8px; border-radius: 8px;
}
.to-cite-modal__close:hover { color: #131313; }
.to-cite-modal__btn:focus-visible, .to-cite-modal__close:focus-visible { outline: 2px solid #5B8FA8; outline-offset: 2px; }
.to-cite-modal__status {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (max-width: 520px) {
  .to-cite-modal { align-items: flex-end; padding: 8px; }
  .to-cite-modal__btn { flex: 1 1 0; min-width: 0; }
}
