/**
 * Accesso al caso — rifiniture sopra il sistema visivo condiviso con il form.
 * La struttura e le distanze principali restano affidate alla griglia e alle
 * utility Bootstrap presenti in procedure_login.php.
 */

.ods-access-page .ods-access-eyebrow {
  color: var(--ods-color-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1.4;
  text-transform: uppercase;
}

.ods-access-page .ods-access-intro p {
  margin-bottom: 0.75rem;
  color: #46536a;
  font-size: 0.96rem;
  line-height: 1.6;
}

.ods-access-page .ods-access-intro p:last-child {
  margin-bottom: 0;
}

.ods-access-page .ods-access-submit {
  min-height: 54px;
  padding: 0.85rem 1.5rem;
  color: #ffffff;
  background: var(--ods-color-primary);
  border: 1px solid var(--ods-color-primary);
  border-radius: 12px;
  box-shadow: 0 12px 24px rgba(24, 44, 120, 0.18);
  font-size: 1rem !important;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.ods-access-page .ods-access-submit:hover {
  color: #ffffff;
  background: var(--ods-color-primary-hover);
  border-color: var(--ods-color-primary-hover);
  box-shadow: 0 16px 30px rgba(24, 44, 120, 0.23);
  transform: translateY(-1px);
}

.ods-access-page .ods-access-submit:focus-visible {
  color: #ffffff;
  outline: none;
  box-shadow: var(--ods-focus-ring), 0 12px 24px rgba(24, 44, 120, 0.18);
}

.ods-access-page .ods-access-submit:disabled {
  color: #737d8c;
  background: #e4e7ec;
  border-color: #e4e7ec;
  box-shadow: none;
  cursor: wait;
  opacity: 1;
}

.ods-access-page .ods-access-notice {
  color: #4f5c70;
  font-size: 0.9rem;
  line-height: 1.55;
}

.ods-access-page .ods-access-notice .error-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.ods-access-page .ods-access-platform-help {
  font-size: 0.88rem;
}

.ods-access-page .ods-access-platform-help a {
  font-weight: 650;
}

.ods-access-page .ods-sso-access .g_id_signin {
  display: flex;
  justify-content: center;
  min-height: 44px;
}

.ods-access-page .ods-access-divider {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  color: var(--ods-color-muted);
  font-size: 0.82rem;
  font-weight: 650;
  text-transform: uppercase;
}

.ods-access-page .ods-access-divider::before,
.ods-access-page .ods-access-divider::after {
  content: '';
  height: 1px;
  flex: 1;
  background: #dfe3e8;
}

@media (max-width: 767.98px) {
  .ods-access-page > .container {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .ods-access-page .ods-access-eyebrow {
    font-size: 0.75rem;
  }

  .ods-access-page .ods-access-intro p {
    font-size: 0.92rem;
    line-height: 1.55;
  }
}
