/* AvvocatiInPrimaFila — custom styles (Bootstrap 5 companion) */

:root {
  --aipf-primary: #0d3349;
  --aipf-accent:  #1a6496;
}

/* Page titles */
.page-title {
  font-weight: 600;
  font-size: 1.8rem;
  letter-spacing: -0.5px;
  color: var(--aipf-primary);
}

/* Navbar brand */
.navbar-brand {
  font-size: 1.1rem;
  letter-spacing: -0.3px;
}

/* Offset content for fixed-top navbar */
main {
  padding-top: 4.5rem;
}

/* Risk level badges */
.badge-risk-basso   { background-color: #198754; }
.badge-risk-medio   { background-color: #ffc107; color: #212529; }
.badge-risk-alto    { background-color: #fd7e14; }
.badge-risk-elevato { background-color: #dc3545; }

/* Questionnaire area card accent */
.area-card { border-left: 4px solid var(--aipf-accent); }

/* Report HTML block */
.report-body { background: #f8f9fa; border-radius: .375rem; padding: 1.25rem; }

/* Reusable page toolbar */
.page-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
}

.page-toolbar-left {
  display: flex;
  align-items: center;
  gap: .75rem;
}

/* Back button: icon-only on xs, label from sm+ */
.btn-back .btn-back-label { display: none; }
@media (min-width: 576px) {
  .btn-back .btn-back-label { display: inline; }
}

/* Tables */
.table-responsive {
  -webkit-overflow-scrolling: touch;
}

/* Replace inline widths / max-widths used across pages */
.aipf-w-30  { width: 30px; }
.aipf-w-75  { width: 75px; }
.aipf-w-80  { width: 80px; }
.aipf-w-90  { width: 90px; }
.aipf-w-110 { width: 110px; }
.aipf-w-40p { width: 40%; }
.aipf-w-65p { width: 65%; }
.aipf-mw-420 { max-width: 420px; }
.aipf-mw-520 { max-width: 520px; }

/* Hover affordance for clickable cards (if used) */
.card-hover { transition: transform .08s ease, box-shadow .08s ease; }
.card-hover:hover { transform: translateY(-1px); box-shadow: 0 .25rem .75rem rgba(0,0,0,.08) !important; }

/* Login card centering */
.login-wrapper {
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
}

