/* Sprint 3b — Tekstanalyse Landing
   Hero + to CTA-stigar + aktive økter + lagra malar.
   Bruker design-tokens (--brand-forest, --surface-card, --fg-*) frå design-tokens.css. */

.ta-landing {
  max-width: 1120px;
  margin: 0 auto;
  padding: var(--space-7, 32px) var(--space-5, 20px) var(--space-8, 48px);
}

/* ── Hero ───────────────────────────────────────────────── */
.ta-landing-hero {
  margin-bottom: var(--space-7, 32px);
}
.ta-landing-eyebrow {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-gold, #B5731F);
  margin-bottom: 6px;
}
.ta-landing-hero h1 {
  font-family: var(--font-display, 'Playfair Display'), serif;
  font-weight: 600;
  font-size: 2.4rem;
  color: var(--brand-forest, #1A3D2B);
  margin: 0 0 12px;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.ta-landing-hero p {
  font-size: 1.05rem;
  color: var(--fg-2, #4A4840);
  line-height: 1.6;
  max-width: 60ch;
  margin: 0 0 18px;
}
.ta-landing-stats {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  font-size: 0.88rem;
  color: var(--fg-3, #7A7670);
}
.ta-landing-stats strong {
  color: var(--brand-forest, #1A3D2B);
  font-weight: 700;
  font-size: 1.1rem;
  margin-right: 4px;
}

/* ── Stigar (CTA-kort) ──────────────────────────────────── */
.ta-landing-paths {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  margin-bottom: var(--space-8, 48px);
}
@media (max-width: 740px) {
  .ta-landing-paths { grid-template-columns: 1fr; }
}
.ta-path {
  display: block;
  padding: 22px 24px;
  border-radius: var(--radius-lg, 14px);
  background: var(--surface-card, #fff);
  border: 1.5px solid var(--border-2, #EDE8E0);
  box-shadow: var(--shadow-2, 0 2px 6px rgba(0,0,0,0.06));
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.ta-path:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
  border-color: var(--brand-forest-mid, #2E6B4F);
}
.ta-path-eyebrow {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-gold, #B5731F);
  margin-bottom: 4px;
}
.ta-path--haldfram .ta-path-eyebrow {
  color: var(--success, #1A7A50);
}
.ta-path--oversikt .ta-path-eyebrow {
  color: var(--info, #2066B6);
}
/* «Tom»-tilstand: ingen pågåande økter — kortet er informativt, ikkje klikkbart. */
.ta-path--tom {
  opacity: 0.6;
  cursor: default;
}
.ta-path--tom:hover {
  transform: none;
  box-shadow: var(--shadow-2, 0 2px 6px rgba(0,0,0,0.06));
  border-color: var(--border-2, #EDE8E0);
}
.ta-path h2 {
  font-family: var(--font-display, 'Playfair Display'), serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--brand-forest, #1A3D2B);
  margin: 0 0 8px;
  letter-spacing: -0.015em;
}
.ta-path p {
  font-size: 0.92rem;
  color: var(--fg-2, #4A4840);
  line-height: 1.5;
  margin: 0 0 14px;
}
.ta-path-cta {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--brand-forest, #1A3D2B);
}

/* ── Seksjonar (aktive økter + malar) ───────────────────── */
.ta-landing-section {
  margin-bottom: var(--space-7, 32px);
}
.ta-landing-section[hidden] { display: none; }
.ta-landing-section-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
}
.ta-landing-section-head h3 {
  font-family: var(--font-display, 'Playfair Display'), serif;
  font-size: 1.2rem;
  color: var(--brand-forest, #1A3D2B);
  margin: 0;
  font-weight: 600;
}
.ta-landing-section-head small {
  color: var(--fg-3, #7A7670);
  font-size: 0.82rem;
}

/* Ferskbrukar-demo — gull-ramma kort som djuplenkjer til ferdige døme. */
.ta-landing-demo { margin-bottom: var(--space-7, 32px); }
.ta-landing-demo[hidden] { display: none; }
.ta-demo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 700px) { .ta-demo-grid { grid-template-columns: 1fr; } }
.ta-demo-card {
  position: relative;
  display: block;
  padding: 20px 22px;
  border-radius: var(--radius-lg, 14px);
  background: color-mix(in oklab, var(--brand-gold, #B5731F) 6%, var(--surface-card, #fff));
  border: 1.5px solid var(--brand-gold, #B5731F);
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s, background 0.15s;
}
.ta-demo-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(181,115,31,0.18);
  border-color: var(--brand-gold-deep, #8A5616);
  background: color-mix(in oklab, var(--brand-gold, #B5731F) 10%, var(--surface-card, #fff));
}
.ta-demo-tag {
  position: absolute; top: 16px; right: 18px;
  font-size: 0.62rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase;
  color: #fff; background: var(--brand-gold, #B5731F);
  border-radius: 999px; padding: 3px 9px;
}
.ta-demo-card h4 {
  font-family: var(--font-display, 'Playfair Display'), serif;
  font-size: 1.25rem; font-weight: 600;
  color: var(--brand-forest, #1A3D2B);
  margin: 2px 0 6px;
}
.ta-demo-card p {
  margin: 0 0 14px;
  font-size: 0.9rem; line-height: 1.5;
  color: var(--fg-2, #5A5247);
  max-width: 34ch;
}
.ta-demo-cta {
  font-size: 0.85rem; font-weight: 600;
  color: var(--brand-gold-deep, #8A5616);
}

/* ── SessKort (aktive økter) ────────────────────────────── */
.ta-sess-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 14px;
}
.ta-sess-kort {
  display: block;
  padding: 14px 16px;
  border-radius: var(--radius-md, 10px);
  background: var(--surface-card, #fff);
  border: 1.5px solid var(--border-2, #EDE8E0);
  box-shadow: var(--shadow-2, 0 2px 6px rgba(0,0,0,0.06));
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s, border-color 0.15s;
}
.ta-sess-kort:hover {
  transform: translateY(-2px);
  border-color: var(--brand-forest-mid, #2E6B4F);
}
.ta-sess-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}
.ta-sess-klasse {
  font-weight: 700;
  color: var(--brand-forest, #1A3D2B);
  font-size: 0.95rem;
}
.ta-sess-dato {
  font-size: 0.78rem;
  color: var(--fg-3, #7A7670);
}
.ta-sess-tittel {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fg-1, #1C1C1C);
  line-height: 1.3;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ta-sess-handling {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  background: color-mix(in oklab, var(--hcol) 14%, transparent);
  color: var(--hcol);
  margin-bottom: 8px;
}
.ta-sess-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hcol);
}
.ta-sess-meta {
  font-size: 0.85rem;
  color: var(--fg-3, #7A7670);
  margin-bottom: 10px;
}
.ta-sess-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  padding-top: 10px;
  border-top: 1px solid var(--border-2, #EDE8E0);
}
.ta-sess-status {
  color: var(--success, #1A7A50);
  font-weight: 600;
}
.ta-sess-cta {
  color: var(--brand-forest, #1A3D2B);
  font-weight: 600;
}

/* ── Mal-strip ──────────────────────────────────────────── */
.ta-malar-strip {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ta-mal-kort {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: var(--radius-pill, 999px);
  background: var(--surface-sunken, #F1ECE4);
  border: 1.5px solid var(--border-1, #E0DBD2);
  text-decoration: none;
  color: var(--fg-1, #1C1C1C);
  font-size: 0.88rem;
  font-weight: 500;
  transition: background 0.15s;
}
.ta-mal-kort:hover {
  background: var(--brand-gold-soft, #FDF4E0);
  border-color: var(--brand-gold, #B5731F);
}
.ta-mal-ikon {
  font-size: 0.95rem;
}

/* ── Tomstand ──────────────────────────────────────────── */
.ta-landing-tom {
  padding: 24px;
  background: var(--surface-paper, #FBF8F3);
  border: 1.5px dashed var(--border-1, #E0DBD2);
  border-radius: var(--radius-md, 10px);
  text-align: center;
  color: var(--fg-2, #4A4840);
}
.ta-landing-tom[hidden] { display: none; }
.ta-landing-tom p { margin: 0; }
.ta-landing-tom .ta-landing-tom-hint {
  margin-top: 8px;
  font-size: 12.5px;
  color: var(--fg-3, #7A7670);
}
