/* AI-näkyvyystesti */

#puro-geo-testi {
  position: relative;
  margin: 44px 0;
  padding: 36px 38px;
  background: linear-gradient(150deg, var(--green, #003E33) 0%, var(--green-deep, #002A22) 100%);
  border-radius: var(--radius, 6px);
  color: var(--on-dark, #F1E9D6);
  overflow: hidden;
}
#puro-geo-testi::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(120% 100% at 100% 0%, rgba(184, 155, 110, .14) 0%, transparent 58%);
}
#puro-geo-testi > * { position: relative; z-index: 1; }

.gt-tag {
  display: inline-block;
  margin-bottom: 14px;
  padding: 5px 12px;
  border: 1px solid var(--border-dark-strong, rgba(255, 255, 255, .18));
  border-radius: 100px;
  color: var(--gold-soft, #D4BD93);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.gt-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  font-weight: 400;
  line-height: 1.18;
  color: var(--cream, #F7F2E8);
  margin: 0 0 10px;
  outline: none;
}
.gt-title::before, .gt-title::after { content: none !important; }
.gt-lead {
  margin: 0 0 26px;
  color: var(--on-dark-soft, #D6DFDA);
  font-size: .95rem;
  line-height: 1.6;
}

.gt-label {
  display: block;
  margin-bottom: 6px;
  color: var(--on-dark-mute, #B9C6BF);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.gt-input {
  display: block;
  width: 100%;
  margin-bottom: 18px;
  padding: 13px 16px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid var(--border-dark, rgba(255, 255, 255, .10));
  border-radius: var(--radius, 6px);
  color: var(--cream, #F7F2E8);
  font-family: inherit;
  font-size: .95rem;
  transition: border-color .25s var(--ease, ease), background .25s var(--ease, ease);
}
.gt-input::placeholder { color: rgba(214, 223, 218, .45); }
.gt-input:focus {
  outline: none;
  border-color: var(--gold-soft, #D4BD93);
  background: rgba(255, 255, 255, .09);
}
.gt-submit { margin-top: 4px; }
.gt-privacy {
  margin: 18px 0 0;
  color: var(--on-dark-mute, #B9C6BF);
  font-size: .82rem;
  line-height: 1.55;
}
.gt-error {
  margin: 0 0 20px;
  padding: 13px 16px;
  background: rgba(184, 155, 110, .14);
  border-left: 3px solid var(--gold-soft, #D4BD93);
  border-radius: var(--radius, 6px);
  color: var(--cream, #F7F2E8);
  font-size: .9rem;
  line-height: 1.55;
}

/* ---------- Lataus ---------- */
.gt-loading { text-align: center; padding: 26px 0; }
.gt-spin { display: flex; justify-content: center; gap: 7px; margin-bottom: 22px; }
.gt-spin i {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--gold-soft, #D4BD93);
  animation: gtPulse 1.3s ease-in-out infinite;
}
.gt-spin i:nth-child(2) { animation-delay: .18s; }
.gt-spin i:nth-child(3) { animation-delay: .36s; }
@keyframes gtPulse { 0%, 100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-5px); } }
.gt-loading-text { margin: 0 0 6px; color: var(--cream, #F7F2E8); font-size: 1rem; }
.gt-loading-sub { margin: 0; color: var(--on-dark-mute, #B9C6BF); font-size: .85rem; }
@media (prefers-reduced-motion: reduce) { .gt-spin i { animation: none; opacity: .8; } }

/* ---------- Tulos ---------- */
.gt-verdict {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 9px 16px;
  border: 1px solid var(--border-dark-strong, rgba(255, 255, 255, .18));
  border-radius: 100px;
  font-size: .86rem;
  font-weight: 500;
}
.gt-verdict-dot { width: 9px; height: 9px; border-radius: 50%; }
.gt-hi   .gt-verdict-dot { background: #7FB89A; }
.gt-mid  .gt-verdict-dot { background: var(--gold, #B89B6E); }
.gt-low  .gt-verdict-dot { background: #D19A6A; }
.gt-none .gt-verdict-dot { background: #C97F6E; }
.gt-hi   { color: #A8D4BC; }
.gt-mid  { color: var(--gold-soft, #D4BD93); }
.gt-low  { color: #E3B58C; }
.gt-none { color: #E8A594; }

.gt-kuvaus {
  margin: 0 0 26px;
  color: var(--on-dark-soft, #D6DFDA);
  font-size: 1rem;
  line-height: 1.65;
}

.gt-block { margin-bottom: 24px; }
.gt-block h4 {
  margin: 0 0 12px;
  color: var(--cream, #F7F2E8);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.gt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gt-list li {
  position: relative;
  padding-left: 26px;
  color: var(--on-dark-soft, #D6DFDA);
  font-size: .93rem;
  line-height: 1.6;
}
.gt-list li::marker { content: none; }
.gt-list li::before {
  position: absolute;
  left: 0;
  top: -1px;
  font-size: 1rem;
  line-height: 1.6;
}
.gt-plus li::before  { content: '✓'; color: #7FB89A; }
.gt-minus li::before { content: '✕'; color: #C97F6E; }
.gt-next li::before  { content: '→'; color: var(--gold-soft, #D4BD93); }

.gt-note {
  margin: 0 0 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border-dark, rgba(255, 255, 255, .10));
  color: var(--on-dark-mute, #B9C6BF);
  font-size: .84rem;
  line-height: 1.6;
}
.gt-note strong { color: var(--on-dark-soft, #D6DFDA); font-weight: 600; }

.gt-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.gt-restart {
  background: none;
  border: 0;
  padding: 6px 0;
  color: var(--on-dark-mute, #B9C6BF);
  font-family: inherit;
  font-size: .88rem;
  cursor: pointer;
  border-bottom: 1px solid transparent;
}
.gt-restart:hover { color: var(--gold-soft, #D4BD93); border-bottom-color: var(--gold-soft, #D4BD93); }
.gt-links { margin-top: 20px; }
.gt-links a {
  color: var(--gold-soft, #D4BD93);
  font-size: .88rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(212, 189, 147, .4);
  padding-bottom: 2px;
}
.gt-links a:hover { border-bottom-color: var(--gold-soft, #D4BD93); }

@media (max-width: 640px) {
  #puro-geo-testi { padding: 26px 22px; margin: 32px 0; }
}
