/* survey-results.css
   Consent screen, progress bar, survey question screen, and the legacy results page.
*/

/* ---- consent / demo ---- */
.card{
  background:var(--panel);border:1px solid var(--panel-line);
  border-radius:0;padding:28px;
}
.card h2{font-size:24px;margin-bottom:14px;}
.card p + p{margin-top:12px;}
.card p{color:#cad3cd;font-size:15px;}
.checkline{
  display:flex;gap:12px;align-items:flex-start;margin-top:22px;
  padding-top:20px;border-top:1px solid var(--panel-line);
}
.checkline input{margin-top:3px;width:17px;height:17px;accent-color:var(--ember);}
.checkline label{font-size:14px;color:var(--paper);}
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;}
.field select,.field input[type=text],.field input[type=email]{
  width:100%;padding:12px 14px;background:var(--ink);
  border:1px solid var(--panel-line);border-radius:0;color:var(--paper);font-size:15px;
}
.skip{font-size:13px;color:var(--muted);text-decoration:underline;background:none;border:none;padding:0;align-self:flex-start;}
/* ---- progress ---- */
.progress-wrap{position:fixed;top:0;left:0;right:0;height:3px;background:var(--panel);z-index:10;}
.progress-bar{height:100%;background:var(--ember);width:0%;transition:width .35s ease;}
/* ---- survey ---- */
#screen-survey{justify-content:center;padding-top:100px;}
.item-domain{font-size:12px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;}
.item-text{font-size:clamp(22px,5vw,30px);font-family:var(--site-font);font-weight:500;margin-top:10px;line-height:1.3;}
.scale{margin-top:34px;display:grid;gap:12px;}
.scale-buttons{grid-template-columns:repeat(var(--option-count,5),minmax(0,1fr));}
.scale-buttons.scale-long{grid-template-columns:repeat(var(--option-count,6),minmax(0,1fr));}
.scale button{
  min-width:0;min-height:58px;border-radius:0;
  border:1px solid var(--panel-line);background:var(--panel);color:var(--paper);
  font-size:13px;font-weight:500;line-height:1.2;transition:.15s ease;padding:10px 8px;
  overflow-wrap:normal;word-break:normal;hyphens:none;
}
.scale-buttons.scale-long button{font-size:clamp(10px,1vw,12px);line-height:1.08;padding:9px 5px;min-height:64px;}
.scale button:hover{border-color:var(--ember);}
.scale button.selected{background:var(--ember);color:#0f1a17;border-color:var(--ember);}
.scale-actions{display:flex;justify-content:center;margin-top:18px;}
.survey-select-card{border:1px solid var(--panel-line);background:var(--panel);padding:18px;border-radius:0;display:grid;gap:12px;}
.survey-select-card label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.survey-select-card select,.survey-select-card input{
  width:100%;min-height:52px;border:1px solid var(--panel-line);background:var(--ink);color:var(--paper);
  border-radius:0;padding:12px 14px;font-size:16px;
}
.survey-select-card select:focus,.survey-select-card input:focus{outline:2px solid var(--ember);outline-offset:2px;}
/* searchable pickers (country, then state or province): the list opens under the box */
.search-picker{position:relative;display:grid;gap:8px;}
.search-picker-list{position:absolute;left:0;right:0;top:100%;z-index:20;margin:4px 0 0;padding:4px 0;list-style:none;
  max-height:min(280px,45vh);overflow-y:auto;background:#fff;border:2px solid #cad3cd;border-radius:var(--control-radius,6px);
  box-shadow:0 12px 28px rgba(15,26,23,.16);text-align:left;}
.search-picker-list li{padding:10px 14px;font-size:15px;line-height:1.3;color:#0f1a17;cursor:pointer;}
.search-picker-list li.is-active,.search-picker-list li:hover{background:#dce5df;}
.search-picker-list li[aria-selected="true"]{font-weight:700;}
.search-picker-list li.search-picker-none{color:#56655e;cursor:default;background:none;}
.search-picker-hint{margin:0;font-size:13px;color:#a23b1f;}
.place-card .place-region:empty{display:none;}
.place-card .place-region{margin-top:4px;}
@media (max-width:620px){
  .scale-buttons.scale-long{grid-template-columns:1fr;}
  .scale-buttons.scale-long button{min-height:44px;text-align:left;justify-content:flex-start;padding:10px 12px;font-size:13px;}
}
.survey-nav{display:flex;justify-content:space-between;margin-top:30px;}
.survey-count{font-size:13px;color:var(--muted);align-self:center;}
/* ---- results ---- */
#screen-results{padding-top:80px;}
.results-lede h2{font-size:clamp(28px,6vw,36px);}
.results-lede p{color:var(--muted);margin-top:12px;font-size:15px;}
.readout{
  background:var(--paper);color:var(--ink-on-paper);
  border-radius:0;padding:30px 26px;margin-top:10px;
}
.score-num{font-variant-numeric:tabular-nums;}
.signup-note{font-size:12px;color:var(--signal);margin-top:10px;}
.disclaimer{font-size:12px;color:var(--muted);line-height:1.6;border-top:1px solid var(--panel-line);padding-top:20px;}
.disclaimer a{color:var(--muted);text-decoration:underline;}
.result-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media (min-width:980px){
  .result-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;}
}
.result-panel{
  background:var(--paper);color:var(--ink-on-paper);
  border-radius:0;padding:24px;border:1px solid var(--paper-line);
}
.result-tile{min-height:320px;box-shadow:none;}
.readout-tile{grid-row:span 1;}
.contribute-tile{
  background:#ffffff;border-top:5px solid #f2b33d!important;
  color:#0f1a17;border:0;position:relative;overflow:hidden;
}
.contribute-tile::after{content:"";position:absolute;right:-70px;bottom:-80px;width:260px;height:260px;border:1px solid rgba(15,26,23,.22);border-radius:50%;}
.contribute-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;position:relative;z-index:1;}
.contribute-actions .btn{width:100%;}
.completion-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;position:relative;z-index:1;}
.completion-chip{font-size:12px;border:1px solid rgba(15,26,23,.22);border-radius:0;padding:7px 10px;background:#ffffff;}
.factor-tile h3{font-size:22px;}
.factor-mini{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px;}
.factor-note{font-size:14px;color:#44524c;line-height:1.5;margin-top:12px;}
.recommend-list{margin:14px 0 0;padding-left:18px;color:#44524c;font-size:14px;line-height:1.55;}
.recommend-list li{margin-top:6px;}
