/* First Form Geography — teal theme overrides (loaded after programming.css) */

/* Hero — deep teal gradient */
.prog-hero.geo-theme {
  background: linear-gradient(135deg, #134e4a 0%, #0f766e 40%, #14b8a6 100%);
}
.prog-hero.geo-theme::after {
  background: linear-gradient(135deg, #134e4a 0%, #0f766e 40%, #14b8a6 100%);
}

.prog-hero.geo-theme .prog-hero-exam strong { color: #5eead4; }

/* Progress bar */
.geo-theme-page .prog-progress-fill { background: #0d9488; }

/* Inline code */
.geo-theme-page .guide-content code { color: #0f766e; }

/* Q&A textarea theme — green accent for active focus */
.geo-theme-page .qa-question .q-label { color: #0d9488; }
.geo-theme-page .qa-answer textarea:focus { border-color: #0d9488; }
.geo-theme-page .qa-reveal-btn { background: #0d9488; }
.geo-theme-page .qa-reveal-btn:hover { background: #0f766e; }

/* Section number circles default to teal */
.geo-theme-page .prog-section-num {
  background: #0d9488;
}

/* Geography tutor banner — teal version of the existing banner */
.geo-tutor-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, #f0fdfa 0%, #ccfbf1 100%);
  border: 1px solid #5eead4;
  border-radius: 14px;
  padding: 18px 22px;
  text-decoration: none;
  color: #134e4a;
  margin: 0 0 1.5rem;
  transition: box-shadow 0.2s, transform 0.15s, border-color 0.2s;
}
.geo-tutor-banner:hover {
  box-shadow: 0 6px 24px rgba(13,148,136,0.15);
  transform: translateY(-1px);
  border-color: #2dd4bf;
}
.geo-tutor-icon {
  font-size: 32px; flex-shrink: 0;
  width: 52px; height: 52px;
  background: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid #99f6e4;
}
.geo-tutor-content { flex: 1; }
.geo-tutor-title {
  font-size: 16px; font-weight: 700;
  color: #134e4a; margin-bottom: 3px;
}
.geo-tutor-sub {
  font-size: 13px; color: #0f766e; line-height: 1.5;
}
.geo-tutor-arrow {
  font-size: 22px; color: #0d9488; flex-shrink: 0; font-weight: 600;
}

@media (max-width: 540px) {
  .geo-tutor-banner { padding: 14px 16px; gap: 12px; }
  .geo-tutor-icon { width: 44px; height: 44px; font-size: 26px; }
  .geo-tutor-title { font-size: 15px; }
  .geo-tutor-sub { font-size: 12px; }
}

/* Geography-specific helper: definition table rows */
.geo-theme-page .guide-content .def-row {
  display: grid; grid-template-columns: 200px 1fr; gap: 16px;
  padding: 10px 0; border-bottom: 1px solid #e2e8f0;
  font-size: 14px;
}
.geo-theme-page .guide-content .def-row:last-child { border-bottom: none; }
.geo-theme-page .guide-content .def-term { font-weight: 700; color: #134e4a; }

/* Plate boundary mini-cards */
.geo-theme-page .guide-content .plate-card {
  background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px;
  padding: 14px 16px; margin: 10px 0;
}
.geo-theme-page .guide-content .plate-card h4 {
  font-size: 14px; font-weight: 700; color: #134e4a; margin-bottom: 6px;
}
.geo-theme-page .guide-content .plate-card p {
  font-size: 13px; line-height: 1.5; margin-bottom: 4px;
}

/* Highlighted facts list */
.geo-theme-page .guide-content .key-facts {
  background: #f0fdfa; border-left: 3px solid #0d9488;
  border-radius: 8px; padding: 12px 16px; margin: 12px 0;
}
.geo-theme-page .guide-content .key-facts strong {
  color: #134e4a; font-size: 12px; text-transform: uppercase;
  letter-spacing: 0.07em; display: block; margin-bottom: 6px;
}
.geo-theme-page .guide-content .key-facts ul {
  padding-left: 18px; margin: 0;
}
.geo-theme-page .guide-content .key-facts li {
  font-size: 13.5px; line-height: 1.6; margin-bottom: 3px;
}

/* SVG illustrations (compass, grid-ref diagrams) */
.geo-theme-page .guide-content .geo-figure {
  margin: 16px 0 18px;
  padding: 18px;
  background: #fff;
  border: 1px solid #5eead4;
  border-radius: 12px;
  text-align: center;
}
.geo-theme-page .guide-content .geo-figure svg {
  width: 100%;
  max-width: 320px;
  height: auto;
  display: block;
  margin: 0 auto;
}
.geo-theme-page .guide-content .geo-figure-caption {
  margin-top: 10px;
  font-size: 12.5px;
  font-style: italic;
  color: #0f766e;
  line-height: 1.4;
}

/* Stronger divider between content and Test yourself panel */
.geo-theme-page .qa-panel {
  margin-top: 36px;
  padding-top: 0;
  border-top: none;
  position: relative;
}
.geo-theme-page .qa-panel::before {
  content: '';
  display: block;
  height: 5px;
  margin: 0 -24px 24px;
  background: linear-gradient(90deg, transparent 0%, #0d9488 15%, #0d9488 85%, transparent 100%);
  border-radius: 3px;
}
.geo-theme-page .qa-heading {
  font-size: 17px;
  font-weight: 700;
  color: #134e4a;
  padding: 10px 18px;
  background: #ccfbf1;
  border: 1px solid #5eead4;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

/* Per-question reveal button (injected by JS) */
.geo-theme-page .qa-reveal-single {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 4px;
  padding: 10px 14px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  text-align: center;
}
.geo-theme-page .qa-reveal-single:hover {
  background: #e0f2fe;
  border-color: #0d9488;
  color: #134e4a;
}
.geo-theme-page .qa-reveal-single:disabled {
  background: #f0fdfa;
  color: #0f766e;
  cursor: default;
  border-color: #5eead4;
}
