/* Shared visual system for the Class 12 Humanities study pages. */
:root {
  color-scheme: light;
  --humanities-ink: #18253a;
  --humanities-muted: #56657a;
  --humanities-paper: #fffefa;
  --humanities-line: rgba(27, 42, 67, .12);
  --humanities-accent: #5865a7;
  --humanities-accent-soft: #e9ebf8;
  --humanities-glow: rgba(88, 101, 167, .14);
}

body.humanities-theme {
  min-height: 100vh;
  color: var(--humanities-ink);
  background:
    radial-gradient(ellipse at 8% 0%, var(--humanities-glow), transparent 32rem),
    radial-gradient(ellipse at 100% 45%, rgba(224, 190, 133, .16), transparent 29rem),
    #f3f5f8;
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  line-height: 1.72;
  letter-spacing: .005em;
}

body.humanities-history { --humanities-accent:#9c5c2f; --humanities-accent-soft:#f7eadc; --humanities-glow:rgba(190,126,70,.16); }
body.humanities-politics { --humanities-accent:#42569c; --humanities-accent-soft:#e8edfa; --humanities-glow:rgba(73,98,174,.16); }
body.humanities-geography { --humanities-accent:#167b78; --humanities-accent-soft:#e1f2ef; --humanities-glow:rgba(36,150,137,.16); }
body.humanities-psychology { --humanities-accent:#7652a0; --humanities-accent-soft:#f0eafb; --humanities-glow:rgba(129,86,174,.16); }
body.humanities-economics { --humanities-accent:#28725a; --humanities-accent-soft:#e4f2e9; --humanities-glow:rgba(50,136,97,.16); }
body.humanities-enterprise { --humanities-accent:#a65b2a; --humanities-accent-soft:#fbecdf; --humanities-glow:rgba(198,116,57,.16); }
body.humanities-sociology { --humanities-accent:#9a4965; --humanities-accent-soft:#f7e8ee; --humanities-glow:rgba(177,85,122,.15); }

body.humanities-theme > header,
body.humanities-theme > body > header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(125deg, color-mix(in srgb, var(--humanities-accent) 82%, #17233c), var(--humanities-accent));
  box-shadow: 0 18px 45px rgba(23, 34, 54, .16);
}
body.humanities-theme > header::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 22rem;
  height: 22rem;
  right: -6rem;
  top: -12rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 2rem rgba(255,255,255,.04), 0 0 0 4rem rgba(255,255,255,.035);
}
body.humanities-theme > header h1,
body.humanities-theme > header h2,
body.humanities-theme > header p { color: #fff !important; }
body.humanities-theme > header h1,
body.humanities-theme > h1 {
  font-size: clamp(2rem, 5vw, 3.35rem) !important;
  line-height: 1.12;
  letter-spacing: -.035em;
  font-weight: 750;
}

body.humanities-theme main {
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
  padding: clamp(1.25rem, 4vw, 3rem);
}
body.humanities-theme main > section,
body.humanities-theme main > div,
body.humanities-theme .book,
body.humanities-theme .subject-card,
body.humanities-theme .chapter-card {
  border: 1px solid var(--humanities-line);
  border-radius: 1.15rem;
  background: var(--humanities-paper);
  box-shadow: 0 12px 30px rgba(32, 47, 68, .07);
}
body.humanities-theme main > section { padding: clamp(1.15rem, 3vw, 2rem); }
body.humanities-theme main a,
body.humanities-theme .chapter-item a {
  color: var(--humanities-ink);
  text-decoration: none;
}
body.humanities-theme main a:hover { color: var(--humanities-accent); }
body.humanities-theme main a:focus-visible,
body.humanities-theme footer a:focus-visible {
  outline: 3px solid var(--humanities-accent);
  outline-offset: 4px;
}
body.humanities-theme main a[class*="rounded"],
body.humanities-theme .chapter-item {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body.humanities-theme main a[class*="rounded"]:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(32, 47, 68, .12);
}
body.humanities-theme h2,
body.humanities-theme h3,
body.humanities-theme h4 {
  color: var(--humanities-accent);
  line-height: 1.28;
  letter-spacing: -.02em;
  text-wrap: balance;
}
body.humanities-theme h2 { font-size: clamp(1.35rem, 3vw, 1.8rem); }
body.humanities-theme h3 { font-size: clamp(1.12rem, 2.4vw, 1.42rem); }
body.humanities-theme p,
body.humanities-theme li { max-width: 75ch; }
body.humanities-theme p { color: var(--humanities-muted); }
body.humanities-theme .important,
body.humanities-theme .key-concept,
body.humanities-theme .definition,
body.humanities-theme .case-study,
body.humanities-theme .conflict-box {
  padding: 1rem 1.2rem;
  border: 1px solid var(--humanities-line);
  border-left: 4px solid var(--humanities-accent);
  border-radius: .85rem;
  background: var(--humanities-accent-soft);
}
body.humanities-theme table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border-radius: .85rem;
  background: var(--humanities-paper);
  box-shadow: 0 8px 22px rgba(32,47,68,.06);
}
body.humanities-theme th {
  color: #fff;
  background: var(--humanities-accent);
  text-align: left;
}
body.humanities-theme th,
body.humanities-theme td { padding: .8rem 1rem; border: 1px solid var(--humanities-line); }
body.humanities-theme tr:nth-child(even) td { background: var(--humanities-accent-soft); }
body.humanities-theme img { max-width: 100%; height: auto; border-radius: .85rem; }
body.humanities-theme footer {
  margin-top: auto;
  padding: 1.4rem 1rem;
  color: #e8edf5;
  background: #202c40;
}
body.humanities-theme footer a { color: #dce4ff; }
body.humanities-theme .chapter-number {
  flex: 0 0 auto;
  color: var(--humanities-accent);
}
body.humanities-theme .saarc-features { gap: 1rem; flex-wrap: wrap; }
body.humanities-theme .achievements,
body.humanities-theme .challenges { flex: 1 1 16rem; width: auto; }

@media (max-width: 640px) {
  body.humanities-theme main { width: 100%; padding: 1rem; }
  body.humanities-theme main > section { padding: 1rem; }
  body.humanities-theme > header { padding-inline: 1rem; }
  body.humanities-theme .chapter-number { min-width: 0; }
  body.humanities-theme table { font-size: .9rem; }
  body.humanities-theme th, body.humanities-theme td { padding: .65rem; }
  body.humanities-theme footer a { display: inline-block; margin: .25rem .4rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.humanities-theme *, body.humanities-theme *::before, body.humanities-theme *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* Sociology chapter notes */
.sociology-lesson .lesson-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 4rem) 1.25rem;
  color: white;
  background: linear-gradient(128deg, #63334d, #a34f70 62%, #c47883);
}
.sociology-lesson .lesson-hero p,
.sociology-lesson .lesson-hero h1 { color: white !important; }
.sociology-lesson .lesson-hero .eyebrow { color: #f7dce7; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sociology-lesson .lesson-hero h1 { max-width: 18ch; margin: .5rem auto; }
.sociology-lesson .lesson-hero .lead { max-width: 64ch; margin: 1rem auto 0; color: #fff3f7 !important; font-size: 1.08rem; }
.sociology-lesson .lesson-wrap { width: min(100% - 2rem, 72rem); margin: 2rem auto; }
.sociology-lesson .lesson-panel { margin-block: 1rem; padding: clamp(1.1rem, 3vw, 2rem); border: 1px solid var(--humanities-line); border-radius: 1.15rem; background: var(--humanities-paper); box-shadow: 0 12px 30px rgba(32,47,68,.06); }
.sociology-lesson .lesson-kicker { color: var(--humanities-accent); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sociology-lesson .lesson-panel h2 { margin-top: .3rem; }
.sociology-lesson .concept-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .8rem; margin-top: 1rem; }
.sociology-lesson .concept-card { padding: 1rem; border: 1px solid var(--humanities-line); border-radius: .9rem; background: linear-gradient(145deg, #fff, var(--humanities-accent-soft)); }
.sociology-lesson .concept-card strong { display: block; color: var(--humanities-accent); margin-bottom: .35rem; }
.sociology-lesson .example-box { border-left: 4px solid #c47883; background: #fff5f8; padding: 1rem 1.2rem; border-radius: .75rem; }
.sociology-lesson .exam-box { border: 1px solid #e6c8d3; background: #fff8fa; border-radius: .9rem; padding: 1rem 1.2rem; }
.sociology-lesson .lesson-nav { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-block: 1.5rem; }
.sociology-lesson .lesson-nav a { padding: 1rem; border: 1px solid var(--humanities-line); border-radius: .9rem; background: white; }
.sociology-lesson .lesson-nav a:last-child { text-align: right; }
.sociology-lesson .lesson-nav small { display: block; color: var(--humanities-muted); }
.sociology-lesson .chapter-index { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: .9rem; }
.sociology-lesson .chapter-index a { display: block; height: 100%; padding: 1rem; border: 1px solid var(--humanities-line); border-radius: .9rem; background: white; }
.sociology-lesson .chapter-index a:hover { background: var(--humanities-accent-soft); }
@media (max-width: 540px) { .sociology-lesson .lesson-wrap { width: min(100% - 1.25rem, 72rem); margin-block: 1rem; } .sociology-lesson .lesson-nav { grid-template-columns: 1fr; } .sociology-lesson .lesson-nav a:last-child { text-align: left; } }
