
/* =========================================================
   AS & A LEVEL ECONOMICS BRANDED HEADER
   Website logo on the left; course/chapter title on the right.
   ========================================================= */
.alevel-economics-site>.econ-site-header{
  min-height:86px;
  box-sizing:border-box;
  background:linear-gradient(105deg,var(--econ-blue-dark),var(--econ-blue) 48%,var(--econ-green));
  border-bottom:5px solid #65d1a8;
  padding:10px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  text-align:initial;
}
.alevel-economics-site>.econ-site-header .econ-header-brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  text-decoration:none;
  line-height:0;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.alevel-economics-site>.econ-site-header .econ-header-brand img{
  display:block;
  width:auto;
  height:64px;
  max-width:34vw;
  object-fit:contain;
}
.alevel-economics-site>.econ-site-header h1{
  flex:1 1 auto;
  margin:0 0 0 auto;
  max-width:72%;
  color:#fff;
  font-size:clamp(1.18rem,2.45vw,2rem);
  line-height:1.2;
  letter-spacing:-.015em;
  text-align:right;
  overflow-wrap:anywhere;
}

@media(max-width:700px){
  .alevel-economics-site>.econ-site-header{
    min-height:76px;
    padding:8px 10px;
    gap:10px;
  }
  .alevel-economics-site>.econ-site-header .econ-header-brand img{
    height:52px;
    max-width:42vw;
  }
  .alevel-economics-site>.econ-site-header h1{
    max-width:54%;
    font-size:clamp(.95rem,4vw,1.2rem);
    line-height:1.18;
  }
}

:root{
  --econ-green:#0f7a59;--econ-green-dark:#07543f;--econ-green-soft:#eaf7f2;
  --econ-blue:#0b5fa5;--econ-blue-dark:#083b68;--econ-blue-soft:#edf6ff;
  --econ-ink:#152536;--econ-muted:#5c6b79;--econ-paper:#f4f8fb;--econ-line:#d6e1e9;
  --econ-good:#0e7a4b;--econ-bad:#b83227;
}
html{scroll-behavior:smooth;scroll-padding-top:24px}
.alevel-economics-site{margin:0;background:var(--econ-paper);color:var(--econ-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.68}

.alevel-economics-site .global-site-nav{position:relative;z-index:80}.alevel-economics-site .subject-menu{z-index:1000}
.econ-page{max-width:1140px;margin:0 auto;padding:26px 18px 58px}
.econ-hero{background:linear-gradient(135deg,var(--econ-blue-dark),var(--econ-blue) 52%,var(--econ-green));color:#fff;border-radius:20px;padding:clamp(26px,5vw,48px);box-shadow:0 16px 40px rgba(7,59,104,.2);border-bottom:6px solid #61d0a6}
.econ-eyebrow{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 11px;font-weight:800;color:#effcff}
.econ-hero h2{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.08;margin:14px 0 12px;color:#fff}.econ-hero p{max-width:900px;color:#eef9ff;font-size:1.05rem;margin:0}
.econ-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.econ-badges span{background:#fff;color:var(--econ-blue-dark);padding:7px 11px;border-radius:999px;font-weight:900;font-size:.86rem}
.econ-panel,.econ-section,.econ-jump,.revision-panel{background:#fff;border:1px solid var(--econ-line);border-radius:16px;padding:clamp(20px,4vw,34px);margin-top:22px;box-shadow:0 8px 24px rgba(21,50,75,.06)}
.econ-panel h2,.econ-section h2,.econ-jump h2,.revision-panel h2{color:var(--econ-blue-dark);line-height:1.2}.econ-section h3{color:var(--econ-blue-dark);border-left:4px solid var(--econ-green);padding-left:10px;margin:28px 0 10px}.econ-section h4{color:var(--econ-blue-dark);margin:0 0 8px}
.exam-strip{background:linear-gradient(90deg,var(--econ-blue-soft),#f7fffc);border-left:5px solid var(--econ-green);padding:14px 16px;border-radius:9px;margin-top:15px}
.econ-jump-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.econ-jump-grid a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--econ-blue-dark);border:2px solid #d3e2eb;border-radius:12px;padding:15px;background:#fbfdff;transition:.18s}.econ-jump-grid a:hover,.econ-jump-grid a:focus-visible{border-color:var(--econ-green);transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,122,89,.13)}.econ-jump-grid strong{color:var(--econ-green);font-size:1.08rem}
.section-number{display:inline-block;background:linear-gradient(100deg,var(--econ-green),var(--econ-blue));color:#fff;font-weight:900;padding:5px 10px;border-radius:8px;margin-bottom:8px}.econ-section>h2{font-size:clamp(1.65rem,3.5vw,2.3rem);margin:4px 0 22px}
.keyterm{display:grid;grid-template-columns:minmax(170px,230px) 1fr;border:1px solid #cbdce6;border-left:5px solid var(--econ-green);border-radius:11px;overflow:hidden;margin:16px 0;background:#fbfdff}.keyterm strong{background:var(--econ-blue-dark);color:#fff;padding:14px}.keyterm span{padding:14px}
.card-grid{display:grid;gap:12px;margin:15px 0}.card-grid.two{grid-template-columns:repeat(2,1fr)}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid article{border:1px solid #d6e2ea;border-top:4px solid var(--econ-green);border-radius:12px;padding:15px;background:#fbfdff}.card-grid article:nth-child(even){border-top-color:var(--econ-blue)}
.example,.exam-tip,.worked-example,.warning-box{margin:16px 0;border-radius:10px;padding:14px 16px}.example{background:var(--econ-blue-soft);border-left:5px solid var(--econ-blue)}.exam-tip{background:var(--econ-green-soft);border-left:5px solid var(--econ-green)}.warning-box{background:#fff7ec;border-left:5px solid #d88923}.worked-example{background:#f3fbf7;border-left:5px solid var(--econ-green)}
.table-wrap{overflow-x:auto;margin:15px 0;border:1px solid #d5e1e9;border-radius:12px}.econ-table{border-collapse:collapse;width:100%;min-width:700px}.econ-table th,.econ-table td{padding:12px 13px;border-bottom:1px solid #e2e9ef;text-align:left;vertical-align:top}.econ-table th{background:var(--econ-blue-dark);color:#fff}.econ-table tr:nth-child(even) td{background:#f9fcfd}
.process-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:stretch;margin:18px 0}.process-flow div{background:#f8fbfd;border:2px solid #d6e3eb;border-radius:12px;padding:15px;text-align:center}.process-flow .accent{background:var(--econ-green-soft);border-color:var(--econ-green)}.process-flow b{display:block;color:var(--econ-blue-dark)}.process-flow span{font-size:.9rem;color:var(--econ-muted)}.process-flow i{align-self:center;font-style:normal;font-size:1.5rem;color:var(--econ-green);font-weight:900}
.tick-list,.warning-list{padding-left:1.25rem}.tick-list li,.warning-list li{margin:.5rem 0}.tick-list li::marker{color:var(--econ-green)}.warning-list li::marker{color:#b7651d}
.ppc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:18px 0}.diagram-card{border:1px solid #d6e2ea;border-radius:14px;padding:15px;background:#fbfdff}.diagram-card h4{margin-bottom:4px}.diagram-card p{color:var(--econ-muted);font-size:.92rem;margin-top:4px}.ppc-image{display:block;width:100%;height:auto;margin:10px auto 8px;border-radius:8px}.ppc-example-card{max-width:760px;margin:16px auto 18px}.ppc-svg{width:100%;height:auto;display:block}.ppc-svg text{font-family:Arial,Helvetica,sans-serif;fill:#31465a;font-size:12px}.ppc-svg .axis{stroke:#31465a;stroke-width:2}.ppc-svg .curve{fill:none;stroke:var(--econ-green);stroke-width:4;stroke-linecap:round}.ppc-svg .curve2{fill:none;stroke:var(--econ-blue);stroke-width:4;stroke-linecap:round}.ppc-svg .guide{stroke:#9fb2c2;stroke-width:1.4;stroke-dasharray:5 5}.ppc-svg .pt{fill:#fff;stroke:var(--econ-blue-dark);stroke-width:2}.ppc-svg .outside{fill:#fff;stroke:#b83227;stroke-width:2}
.term-pairs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.term-pairs>div{border:1px solid #d6e2ea;border-radius:12px;padding:15px;background:#fbfdff}.term-pairs b{color:var(--econ-green-dark)}
.revision-panel{border-top:6px solid var(--econ-green);background:linear-gradient(180deg,#fff,#fbfffd)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0 22px}.check-grid div{position:relative;padding:12px 14px 12px 42px;background:#f7fafc;border:1px solid #dbe5eb;border-radius:10px}.check-grid div:before{content:'✓';position:absolute;left:14px;color:var(--econ-green);font-weight:900}
.quiz-launch{display:block;margin:22px auto 8px;border:0;border-radius:12px;background:linear-gradient(100deg,var(--econ-green),var(--econ-blue));color:#fff;font-weight:900;font-size:1.05rem;padding:14px 22px;cursor:pointer;box-shadow:0 8px 20px rgba(11,95,165,.2)}.quiz-launch:hover{filter:brightness(.94)}.quiz-note{text-align:center;color:var(--econ-muted);font-size:.92rem}
.quiz-overlay[hidden]{display:none}.quiz-overlay{position:fixed;inset:0;background:rgba(5,22,36,.74);z-index:100000;display:grid;place-items:center;padding:18px}.quiz-modal{width:min(730px,100%);max-height:min(90vh,840px);overflow:auto;background:#fff;border-radius:17px;box-shadow:0 30px 80px rgba(0,0,0,.36);outline:none}.quiz-head{position:sticky;top:0;z-index:2;background:linear-gradient(100deg,var(--econ-blue-dark),var(--econ-green-dark));color:#fff;padding:18px 62px 16px 20px;border-bottom:5px solid #65d1a8}.quiz-head h2{margin:2px 0;color:#fff}.quiz-head p{margin:0;color:#dff6f0;font-size:.9rem}.quiz-kicker{color:#bff3df;font-weight:900;font-size:.85rem}.quiz-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}.quiz-body{padding:22px}.quiz-body h3{color:var(--econ-blue-dark);margin:0 0 16px}.quiz-options{display:grid;gap:10px}.quiz-option{border:2px solid #d9e4eb;background:#fff;border-radius:11px;padding:12px 14px;text-align:left;cursor:pointer;font:inherit;color:var(--econ-ink)}.quiz-option:hover:not(:disabled){border-color:var(--econ-green);background:#f7fffc}.quiz-option.correct{border-color:var(--econ-good);background:#eaf8f1}.quiz-option.wrong{border-color:var(--econ-bad);background:#fff1ef}.quiz-option:disabled{cursor:default}.quiz-feedback{margin-top:15px;border-radius:10px;padding:12px 14px;display:none}.quiz-feedback.show{display:block}.quiz-feedback.good{background:#eaf8f1;color:#0f5d3c}.quiz-feedback.bad{background:#fff0ee;color:#8b281f}.quiz-actions{display:flex;justify-content:flex-end;padding:0 22px 22px}.quiz-actions button{border:0;background:var(--econ-blue-dark);color:#fff;font-weight:800;padding:11px 17px;border-radius:10px;cursor:pointer}.quiz-actions button:disabled{opacity:.42;cursor:not-allowed}.quiz-result{text-align:center;padding:12px 0}.quiz-result strong{display:block;font-size:2.3rem;color:var(--econ-green)}
.econ-nav-top,.econ-nav-bottom{max-width:1140px;margin-left:auto;margin-right:auto}.alevel-economics-site .econ-nav-top .chapter-nav-button,.alevel-economics-site .econ-nav-bottom .chapter-nav-button{border-color:#b8dccc;color:var(--econ-blue-dark);background:#f7fffc}.alevel-economics-site .econ-nav-top .chapter-nav-button:hover,.alevel-economics-site .econ-nav-bottom .chapter-nav-button:hover{background:#eaf7f2;border-color:var(--econ-green)}
/* contents */
.toc-page{max-width:1160px;margin:0 auto;padding:24px 18px 58px}.toc-hero{background:linear-gradient(135deg,var(--econ-blue-dark),var(--econ-blue) 50%,var(--econ-green));color:#fff;border-radius:20px;padding:clamp(26px,5vw,46px);border-bottom:6px solid #61d0a6;box-shadow:0 16px 38px rgba(7,59,104,.2)}.toc-hero .eyebrow{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 11px;font-weight:800;color:#effcff}.toc-hero h2{color:#fff;font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.08;margin:14px 0 10px}.toc-hero p{max-width:900px;color:#eef9ff;font-size:1.06rem;margin:0}.toc-status{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.toc-status span{background:#fff;color:var(--econ-blue-dark);border-radius:999px;padding:7px 11px;font-weight:900;font-size:.86rem}
.level-band{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:34px 0 14px;padding:18px 20px;background:#fff;border:1px solid var(--econ-line);border-left:7px solid var(--econ-green);border-radius:14px}.level-band h2{margin:0;color:var(--econ-blue-dark)}.level-band p{margin:5px 0 0;color:var(--econ-muted)}.level-band .level-tag{white-space:nowrap;background:var(--econ-blue-dark);color:#fff;border-radius:999px;padding:7px 11px;font-weight:900}
.part-card{background:#fff;border:1px solid var(--econ-line);border-radius:16px;margin:16px 0;overflow:hidden;box-shadow:0 7px 20px rgba(21,50,75,.05)}.part-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:15px 18px;background:linear-gradient(90deg,var(--econ-blue-soft),#f7fffc);border-bottom:1px solid var(--econ-line)}.part-head span{background:var(--econ-green);color:#fff;font-weight:900;border-radius:8px;padding:6px 9px}.part-head h3{margin:0;color:var(--econ-blue-dark)}.chapter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.chapter-link,.chapter-future{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #d5e2e9;border-radius:12px;padding:14px;background:#fff;text-decoration:none;color:var(--econ-ink)}.chapter-link:hover,.chapter-link:focus-visible{border-color:var(--econ-green);box-shadow:0 7px 16px rgba(15,122,89,.13);transform:translateY(-1px)}.chapter-link strong,.chapter-future strong{color:var(--econ-green);font-size:1.03rem}.chapter-link span,.chapter-future span{font-weight:800;color:var(--econ-blue-dark)}.chapter-link em,.chapter-future em{font-style:normal;color:#647789;font-size:.82rem;white-space:nowrap}.chapter-future{background:#f8fbfd;border-style:dashed}.chapter-future em{background:#edf2f5;border-radius:999px;padding:4px 8px}.toc-note{margin-top:22px;background:linear-gradient(90deg,var(--econ-blue-soft),var(--econ-green-soft));border:1px solid #c9e2dd;border-radius:13px;padding:16px;color:#23465b}
@media(max-width:850px){.econ-jump-grid,.card-grid.four,.card-grid.three,.ppc-grid{grid-template-columns:repeat(2,1fr)}.process-flow{grid-template-columns:1fr}.process-flow i{transform:rotate(90deg)}.chapter-grid{grid-template-columns:1fr}}
@media(max-width:650px){.econ-page,.toc-page{padding:16px 10px 42px}.econ-panel,.econ-section,.econ-jump,.revision-panel{padding:18px 15px;border-radius:12px}.econ-jump-grid,.card-grid.two,.card-grid.three,.card-grid.four,.term-pairs,.ppc-grid,.check-grid{grid-template-columns:1fr}.keyterm{grid-template-columns:1fr}.level-band{align-items:flex-start;flex-direction:column}.chapter-link,.chapter-future{grid-template-columns:auto 1fr}.chapter-link em,.chapter-future em{grid-column:2}.quiz-overlay{padding:8px}.quiz-modal{max-height:95vh}.quiz-body{padding:16px}}
.formula-box{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:17px 0;padding:16px 18px;border:2px solid #c9dfe9;border-radius:13px;background:linear-gradient(90deg,var(--econ-blue-soft),var(--econ-green-soft));color:var(--econ-blue-dark);font-size:1.03rem}.formula-box span{font-weight:900;color:var(--econ-green-dark)}.formula-box strong{background:#fff;border:1px solid #cbdce6;border-radius:9px;padding:7px 10px}.formula-box b{font-size:1.25rem;color:var(--econ-green)}

/* Chapters 1–4 book-aligned figure presentation */
.diagram-card.figure-card .ppc-image{display:block;width:auto;max-width:min(100%,640px);max-height:480px;height:auto;object-fit:contain;margin:12px auto 10px;border-radius:8px;image-rendering:auto}
.diagram-card.figure-card{overflow:hidden}
.diagram-card.figure-card .figure-explanation{max-width:760px;margin:8px auto 4px;line-height:1.6;color:var(--econ-muted)}
.diagram-card.figure-card .figure-source{max-width:760px;margin:6px auto 0;font-size:.78rem;line-height:1.45;color:#687b8b;font-style:italic;text-align:center}
.diagram-card.figure-card h4{max-width:760px;margin:0 auto 8px;text-align:center}
.book-example{border-left:4px solid var(--econ-blue);background:#f4f9fc;padding:14px 16px;margin:16px 0;border-radius:10px;line-height:1.65}
.book-example strong:first-child{color:var(--econ-blue-dark)}

.diagram-card.figure-card{overflow:hidden}
.diagram-card.figure-card .figure-explanation{max-width:760px;margin:8px auto 4px;line-height:1.62;color:var(--econ-muted)}
.diagram-card.figure-card .figure-source{max-width:760px;margin:7px auto 0;font-size:.78rem;line-height:1.45;color:#687b8b;font-style:italic;text-align:center}
.diagram-card.figure-card h3,.diagram-card.figure-card h4{max-width:760px;margin:0 auto 8px;text-align:center}

.diagram-card.figure-card .ppc-svg{display:block;width:min(100%,640px);height:auto;margin:12px auto 10px}

/* =========================================================
   STRUCTURAL CONSISTENCY REPAIR — Chapters 1–32
   Matches the presentation conventions established in Ch. 1–2.
   ========================================================= */

/* Inline economic terms must never inherit the block definition-card layout. */
.inline-keyterm{
  display:inline;
  color:var(--econ-green-dark);
  font-weight:800;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
}

/* Term pairs: title on its own line, explanation beneath it. */
.term-pairs>div>b:first-child,
.term-pairs>div>strong:first-child{
  display:block;
  color:var(--econ-green-dark);
  font-weight:900;
  margin:0 0 6px;
}
.term-pairs>div>p,
.term-pairs>div>span{
  display:block;
  margin:0;
  line-height:1.55;
  color:var(--econ-ink);
}

/* Process flows: use the same card → card visual language as early chapters,
   but allow any number of stages without crushing content into fixed columns. */
.process-flow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:18px 0;
}
.process-flow>div{
  flex:1 1 175px;
  min-width:155px;
  max-width:320px;
  background:#f8fbfd;
  border:2px solid #d6e3eb;
  border-radius:12px;
  padding:14px 15px;
  text-align:center;
}
.process-flow>div.accent{
  background:var(--econ-green-soft);
  border-color:var(--econ-green);
}
.process-flow>div>b,
.process-flow>div>strong{
  display:block;
  color:var(--econ-blue-dark);
  line-height:1.35;
}
.process-flow>div>span{
  display:block;
  margin-top:4px;
  font-size:.9rem;
  line-height:1.45;
  color:var(--econ-muted);
}
.process-flow>i{
  flex:0 0 auto;
  align-self:center;
  font-style:normal;
  font-size:1.35rem;
  color:var(--econ-green);
  font-weight:900;
}

/* Formula boxes must not fragment formula text into oversized flex items.
   Inline pieces remain together; explicit <br> elements create intended new lines. */
.formula-box{
  display:block;
  text-align:center;
  line-height:1.75;
  overflow-wrap:anywhere;
}
.formula-box>strong{
  display:inline-block;
  margin:.2rem .25rem;
  vertical-align:middle;
}
.formula-box>span,
.formula-box>b,
.formula-box>sub,
.formula-box>sup,
.formula-box>small{
  vertical-align:baseline;
}
.formula-box>p{
  margin:.35rem 0;
}

/* Keep the end-of-chapter launcher as a button, not a full-width section. */
button.quiz-launch{
  display:block;
  width:auto;
  max-width:100%;
  margin:22px auto 8px;
}
.quiz-note{
  margin:8px auto 0;
  text-align:center;
}

/* Checklist cards: one consistent Chapter 1/2 treatment. */
.check-grid>div{
  min-width:0;
  line-height:1.5;
}

/* Make definition and process cards robust on narrow displays. */
@media(max-width:850px){
  .process-flow{
    flex-direction:column;
    align-items:stretch;
  }
  .process-flow>div{
    width:100%;
    max-width:none;
  }
  .process-flow>i{
    align-self:center;
    transform:rotate(90deg);
  }
}
@media(max-width:650px){
  .term-pairs>div,
  .check-grid>div{
    width:auto;
  }
}
