/* ═══════════════════════════════════════════════════
   Bruk_din_chatbot.html Specific Styles
   Using Chatbots in Teaching
   Using NLA Design System
*/

:root {
  --c1: var(--nla-green-50);  --c1a: var(--nla-green-800);
  --c2: #e8eef8;  --c2a: #1d4ed8;
  --c3: var(--nla-sand-100);  --c3a: #92400e;
  --c4: #fde8e8;  --c4a: #c0392b;
  --c5: #f3e8ff;  --c5a: #6b21a8;
}

/* ── INTRO CALLOUT ── */
.intro-callout {
  background: var(--nla-forest);
  color: #fff;
  border-radius: var(--r-lg);
  padding: var(--s-5);
  margin-bottom: var(--s-8);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-5);
  align-items: center;
  box-shadow: var(--shadow-lg);
}

@media (min-width: 768px) {
  .intro-callout {
    padding: var(--s-6);
    grid-template-columns: auto 1fr;
    gap: var(--s-7);
  }
}

.callout-icon {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1;
  color: var(--nla-green-300);
}

.callout-text h3 {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 600;
  margin-bottom: var(--s-2);
  line-height: var(--lh-snug);
}

.callout-text p {
  font-size: 0.99rem;
  opacity: 0.75;
  line-height: 1.7;
}

.callout-note {
  grid-column: 1 / -1;
  font-size: 0.78rem;
  opacity: 0.55;
  line-height: 1.6;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.callout-note i, .callout-note svg {
  width: 13px;
  height: 13px;
  stroke: rgba(255, 255, 255, 0.5);
  fill: none;
  stroke-width: 2;
  flex-shrink: 0;
  margin-top: 3px;
}

/* ── PEDAGOGIC FRAMEWORK ── */
.ramme-section { margin-bottom: 64px; }

.ramme-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .ramme-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .ramme-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.ramme-card {
  background: var(--step-bg);
  padding: 20px 18px;
  border-bottom: 1px solid var(--border);
}

.ramme-card:last-child { border-bottom: none; }

@media (min-width: 768px) {
  .ramme-card {
    padding: 24px 22px;
    border-bottom: none;
    border-right: 1px solid var(--border);
  }

  .ramme-card:last-child { border-right: none; }
}

@media (min-width: 1024px) {
  .ramme-card {
    padding: 28px 26px;
  }
}

.ramme-phase-header {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 16px;
}

.ramme-phase-word {
  font-family: 'Fraunces', serif;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1;
}

.ramme-phase-arrow {
  font-size: 0.9rem;
  color: var(--border);
}

.ramme-phase-en {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
}

.ramme-card:nth-child(1) .ramme-phase-word { color: var(--nla-rust-800); }
.ramme-card:nth-child(2) .ramme-phase-word { color: var(--nla-rust-50); }
.ramme-card:nth-child(3) .ramme-phase-word { color: var(--nla-rose); }

.ramme-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.3;
  color: var(--ink);
}

.ramme-card p {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 12px;
}

.ramme-list {
  list-style: none;
  padding: 0;
}

.ramme-list li {
  font-size: 0.8rem;
  line-height: 1.65;
  color: var(--muted);
  padding: 6px 0 6px 20px;
  position: relative;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-left: 0;
}

.ramme-list li:first-child { border-top: none; }

.ramme-list-icon { flex-shrink: 0; margin-top: 3px; }

.ramme-list-icon i,
.ramme-list-icon svg {
  width: 13px;
  height: 13px;
  stroke: var(--border);
  fill: none;
  stroke-width: 2;
}

/* ── CLASSROOM INTRO ── */
.intro-section { margin-bottom: 64px; }

.intro-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 768px) {
  .intro-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

.intro-card {
  background: var(--step-bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 22px 24px;
}

.intro-card-num {
  font-family: 'Fraunces', serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--accent);
  margin-bottom: 8px;
}

.intro-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.3;
}

.intro-card p {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--muted);
}

.intro-card .script {
  margin-top: 10px;
  padding: 10px 14px;
  background: var(--nla-sand-100);
  border-left: 3px solid var(--accent);
  border-radius: 0 3px 3px 0;
  font-size: 0.8rem;
  font-style: italic;
  line-height: 1.6;
  color: var(--ink);
}

.intro-card .script strong {
  font-style: normal;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
  color: var(--nla-gray);
}

/* ── PITFALLS (FELLER) ── */
.feller-section { margin-bottom: 64px; }

.feller-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 768px) {
  .feller-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

.feller-card {
  background: var(--step-bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 22px 24px;
  display: flex;
  gap: 16px;
}

.feller-num {
  font-family: 'Fraunces', serif;
  font-size: 2rem;
  font-weight: 800;
  color: var(--border);
  line-height: 1;
  flex-shrink: 0;
}

.feller-content {}

.feller-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 6px;
  line-height: 1.3;
  color: var(--ink);
}

.feller-card p {
  font-size: 0.82rem;
  line-height: 1.7;
  color: var(--muted);
}

.feller-tip {
  margin-top: 8px;
  font-size: 0.78rem;
  line-height: 1.6;
  color: var(--c3a);
  font-weight: 500;
}

.feller-tip::before { content: '→ '; }

/* ── COMING SOON / PLACEHOLDER ── */
.coming-section { margin-bottom: 64px; }

.coming-intro {
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 24px;
}

.coming-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 768px) {
  .coming-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .coming-grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
  }
}

.coming-card {
  background: var(--step-bg);
  border: 1px dashed var(--border);
  border-radius: 4px;
  padding: 22px 20px;
  opacity: 0.6;
}

.coming-card-label {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.coming-card-label i,
.coming-card-label svg {
  width: 11px;
  height: 11px;
  stroke: var(--muted);
  fill: none;
  stroke-width: 2;
}

.coming-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 6px;
  line-height: 1.3;
  color: var(--ink);
}

.coming-card p {
  font-size: 0.78rem;
  line-height: 1.65;
  color: var(--muted);
}


/* ── RESPONSIVE ── */
@media (max-width: 480px) {
  .intro-card {
    padding: 16px 18px;
  }

  .feller-card {
    padding: 18px 16px;
    gap: 12px;
  }

  .ramme-phase-word {
    font-size: clamp(1.5rem, 5vw, 1.9rem);
  }

  .intro-card h3,
  .feller-card h3,
  .coming-card h3 {
    font-size: clamp(0.85rem, 2vw, 0.95rem);
  }
}
