/* PsychCura – Self-Assessment (modal) */
.pc-sa .modal-title{ font-weight:700; }
.pc-sa .alert{ background:#e6f7fa; border-color:#d1f0f8; color:#0d5460; }

/* Progress */
.pc-sa-progress{
  height: 8px;
  background: #eef7fb;
  border-radius: 999px;
  overflow: hidden;
}
.pc-sa-progress-bar{
  height: 100%;
  background: var(--bs-primary);
  transition: width .3s ease;
}

/* Card */
.pc-sa-card{
  background:#fff;
  border:1px solid #e6f0f4;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 2px 14px rgba(21,185,217,.08);
}
.pc-sa-step{ letter-spacing:.02em; }
.pc-sa-question{
  font-size:1.05rem;
  margin:0;
}

/* Options */
.pc-sa-options{
  display:grid;
  grid-template-columns: 1fr;
  gap:.5rem;
}
.pc-sa-options .pc-sa-opt{
  display:flex; align-items:center; gap:.6rem;
  border:1px solid #dfeaf0; background:#fff; border-radius:12px;
  padding:.7rem .8rem; cursor:pointer; transition: border-color .15s, box-shadow .15s, background .15s;
}
.pc-sa-options .pc-sa-opt:hover{
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 3px rgba(21,185,217,.12);
}
.pc-sa-options input[type="radio"]{
  appearance:none; width:18px; height:18px; border-radius:50%;
  border:2px solid #a7c9d5; position:relative; margin:0;
}
.pc-sa-options input[type="radio"]:checked{
  border-color: var(--bs-primary);
}
.pc-sa-options input[type="radio"]:checked::after{
  content:""; position:absolute; inset:3px; border-radius:50%; background: var(--bs-primary);
}
.pc-sa-options .pc-sa-opt strong{ color:#123; }

/* Result */
.pc-sa-result .badge{
  font-size:.95rem; border-radius:999px; padding:.45em .8em;
}
.pc-sa-result .badge.bg-soft{
  background:#e6f7fa; color:#0d5460; border:1px solid #d1f0f8;
}

@media (min-width: 576px){
  .pc-sa-options{ grid-template-columns: 1fr 1fr; }
}
/* --- Self-Assessment Button (match Book Appointment) --- */
.navbar .btn-outline-primary {
  color: var(--bs-primary);
  border: 2px solid var(--bs-primary);
  background: transparent;
  font-weight: 600;
  border-radius: 999px;
  padding: 0.6rem 1.2rem;
  transition: all 0.3s ease;
}

/* Hover + focus same animation as Book Appointment */
.navbar .btn-outline-primary:hover,
.navbar .btn-outline-primary:focus {
  background: var(--bs-primary);
  color: #fff !important;
  box-shadow: inset 300px 0 0 0 var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Keep spacing consistent in navbar */
.navbar .btn-outline-primary {
  margin-left: 8px;
}

/* Mobile stacking fix */
@media (max-width: 991.98px) {
  .navbar .btn-outline-primary {
    width: 100%;
    text-align: center;
    margin-top: 6px;
  }
}