.questionnaire-container{width:100%; max-width:960px; margin:0 auto; padding:2rem 2rem 4rem 2rem;}
.question{margin-bottom:3rem;}
.question-text{font-size:1.2rem;margin-bottom:1rem;}

/* Likert scale styling to match experiment core - only for questionnaire page */
.questionnaire-container .likert-scale-container{
  display:grid; 
  grid-template-columns:repeat(5,1fr); 
  border:1px solid #E5E7EB;
  border-radius:14px; 
  overflow:hidden; 
  margin:32px auto 16px;
  max-width:960px;
}

/* Special styling for hearing scale (5 options) - now redundant but kept for clarity */
.questionnaire-container .hearing-scale{
  grid-template-columns:repeat(5,1fr);
}

.questionnaire-container .likert-option{ 
  position:relative; 
}

.questionnaire-container .likert-option input[type=radio]{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}

.questionnaire-container .likert-option .label-text{
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  justify-content:center;
  padding:18px 6px; 
  line-height:1.25em; 
  font-size:1.05em; 
  text-align:center; 
  user-select:none;
  cursor:pointer; 
  background:#FDFDFD; 
  transition:background .2s ease, color .2s ease, font-weight .2s ease;
  border-right:1px solid #E5E7EB;
  min-height:80px;
  box-sizing:border-box;
}

.questionnaire-container .likert-option .label-text span{
  display:block;
}

.questionnaire-container .likert-option:hover .label-text{
  box-shadow:0 0 8px rgba(0,0,0,.15);
}

.questionnaire-container .likert-option:last-child .label-text{ 
  border-right:none; 
}

.questionnaire-container .likert-option:not(:has(input:checked)) .label-text:hover{ 
  background:#F3F4F6;
}

.questionnaire-container .likert-option input[type=radio]:checked + .label-text{
  background:var(--primary-color); 
  color:#fff; 
  font-weight:700;
}

.explanation{font-style:italic;margin-top:.5rem; opacity:0;min-height: 2.4em;overflow:hidden; 
    transition:opacity .5s ease,max-height .5s ease;}
.explanation.visible{opacity:1;max-height:5rem;}
.submit-button{margin-top:1.5rem;padding:.75rem 1.5rem;font-size:1rem; border:none;
    background-color:#007bff;color:#fff; border-radius:4px;cursor:pointer;}
.pending{opacity: 0; max-height: 0; overflow: hidden; pointer-events: none;transition: opacity .6s ease, max-height .6s ease;}