/* ---------------------------------------------------------------------------
   Central Banking — course-specific additions.
   The shared structure remains the Machine Learning / Deep Learning system in
   assets/course.css. This file only adds the illustration-led lecture pieces.
   --------------------------------------------------------------------------- */

.dc-art{
  margin:.8rem 0 0;
  padding:.55rem;
  border:1px solid var(--line);
  border-radius:5px;
  background:#fff;
  display:grid;
  place-items:center;
}
.dc-art img{
  display:block;
  width:100%;
  height:auto;
  max-height:210px;
  object-fit:contain;
  border-radius:3px;
}
.dc-art figcaption{
  justify-self:start;
  margin:.45rem .15rem .05rem;
  font-size:.79rem;
  line-height:1.5;
  color:var(--ink-soft);
}

.deck-grid,.cb-downloads{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  margin:.4rem 0 1.1rem;
}
.deck-grid .daycard,.cb-downloads .mat-group{
  margin:0;
  display:flex;
  flex-direction:column;
}
.deck-grid .daycard .mat-row,.cb-downloads .mat-group .mat-row{
  margin-top:auto;
  padding-top:.55rem;
}
.deck-grid .mat-note,.cb-downloads .mat-note{
  font-size:.87rem;
  line-height:1.55;
}

.cb-panorama{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.35rem;
  padding:.45rem;
  border:1px solid var(--line);
  border-radius:5px;
  background:#fff;
}
.cb-panorama span{
  display:grid;
  place-items:center;
  min-width:0;
  aspect-ratio:16/9;
  padding:.25rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:3px;
}
.cb-panorama img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.mechanism-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin:.5rem 0 1.2rem;
}
.mechanism-step{
  position:relative;
  min-width:0;
  padding:.9rem .85rem;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--paper);
}
.mechanism-step:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-.61rem;
  top:50%;
  z-index:2;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:1.15rem;
  height:1.15rem;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--crimson);
  font-family:var(--mono);
  font-size:.7rem;
}
.mechanism-step .ms-id{
  display:block;
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--crimson);
  margin-bottom:.35rem;
}
.mechanism-step strong{
  display:block;
  font-family:var(--serif);
  font-size:1rem;
  line-height:1.2;
  color:var(--ink);
}
.mechanism-step p{
  margin-top:.35rem;
  font-size:.78rem;
  line-height:1.45;
  color:var(--ink-soft);
}

.fig-shot{
  background:#fff;
  aspect-ratio:16 / 9;
  min-height:0;
  padding:.65rem;
}
.fig-shot img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
}
.fig-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  margin:.7rem 0 2rem;
}
.fig-card .fig-body{
  padding:1rem 1.05rem 1.15rem;
}
.fig-card .fig-t{
  margin:.38rem 0 .45rem;
  font-size:1.08rem;
  line-height:1.24;
}
.figbox img{
  display:block;
  width:100%;
  height:auto;
  max-height:68vh;
  object-fit:contain;
  background:#fff;
}
.fig-card .fig-d{
  min-height:0;
  font-size:.88rem;
  line-height:1.62;
}
.fig-math{
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  border-radius:3px;
  background:var(--accent-soft);
  color:var(--accent-strong);
  font-family:var(--mono);
  font-size:.88em;
  padding:.04em .22em;
}
.figbox-cap{
  max-width:82ch;
}
.figbox-cap p{
  font-size:.98rem;
  line-height:1.7;
}
@media (max-width:760px){
  .fig-grid{
    grid-template-columns:1fr;
  }
  .fig-card .fig-d{
    font-size:.92rem;
  }
}
.cb-figure-preview{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.lecture-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  align-items:center;
}
.lecture-actions .mat-btn.primary{
  background:var(--accent);
  color:#fff;
}
.lecture-actions .mat-btn.pdf{
  color:var(--crimson);
  border-color:var(--crimson-hair);
  background:var(--crimson-soft);
}
.lecture-actions .mat-btn.pdf:hover{
  color:#fff;
  background:var(--crimson);
  border-color:var(--crimson);
}

.illustration-rule{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin:.5rem 0 1rem;
}
.illustration-rule div{
  padding:.85rem .9rem;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--paper);
}
.illustration-rule b{
  display:block;
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:.35rem;
}
.illustration-rule p{
  font-size:.82rem;
  line-height:1.5;
  color:var(--ink-soft);
}

@media (max-width:900px){
  .deck-grid,.cb-downloads{grid-template-columns:1fr}
}
@media (max-width:720px){
  .mechanism-strip{grid-template-columns:1fr 1fr}
  .mechanism-step:nth-child(2)::after{display:none}
  .illustration-rule{grid-template-columns:1fr}
}
@media (max-width:480px){
  .mechanism-strip{grid-template-columns:1fr}
  .mechanism-step::after{display:none!important}
}
@media (max-width:560px){
  .cb-figure-preview{grid-template-columns:1fr}
}
