/* Auth & account pages (module A). */

.auth-wrap { max-width: 28rem; padding-top: .5rem; }
@media (min-width: 576px) { .auth-wrap { padding-top: 2.5rem; } }
.auth-icon { font-size: 2.25rem; line-height: 1; }
.auth-card .form-control-lg { font-size: 1rem; }

/* Account page: keep anchored sections (#calendar) clear of the sticky navbar. */

.cal-url { font-family: var(--bs-font-monospace); font-size: .8rem; }
.account-facts dt { font-weight: 500; color: var(--bs-secondary-color); }
.account-facts dd { overflow-wrap: anywhere; }

/* Tap targets of at least 40px on phones without changing the layout: small text links get an
   invisible padded hit area, and the radio/switch rows (whose labels are clickable) get taller. */
.auth-tap { display: inline-block; padding: .65rem .25rem; margin: -.65rem -.25rem; }
@media (max-width: 767.98px) {
  .account-section .form-check-label { display: inline-block; padding-block: .55rem; }
  .account-section .form-check-input { margin-top: calc(.25em + .55rem); }
}
