
/* =========================================================
   EITCA — DORA course — course overrides and DORA widgets
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora{
  --aif-primary:#1d4ed8;
  --aif-primarySoft:#eff6ff;
  --aif-success:#047857;
  --aif-successSoft:#ecfdf5;
  --aif-warn:#d97706;
  --aif-warnSoft:#fffbeb;
  --aif-info:#0284c7;
  --aif-danger:#dc2626;
  --aif-dangerSoft:#fef2f2;
  --aif-dangerBorder:#fecaca;
}
.eitca-topic.eitca-aif.eitca-dora .aif-hero{
  background:linear-gradient(135deg,#f8fafc 0%,#eff6ff 46%,#ffffff 100%);
}
.eitca-topic.eitca-aif.eitca-dora .aif-body{
  display:block;
}
.eitca-topic.eitca-aif.eitca-dora .aif-body > * + *{
  margin-top:22px;
}
.eitca-topic.eitca-aif.eitca-dora .aif-hr{
  margin:26px 0 !important;
}
.eitca-topic.eitca-aif.eitca-dora .aif-card > * + *,
.eitca-topic.eitca-aif.eitca-dora .aif-section > * + *,
.eitca-topic.eitca-aif.eitca-dora .aif-quiz > * + *{
  margin-top:12px;
}
.eitca-topic.eitca-aif.eitca-dora .aif-card > h2 + *,
.eitca-topic.eitca-aif.eitca-dora .aif-card > h3 + *,
.eitca-topic.eitca-aif.eitca-dora .aif-section > h2 + *,
.eitca-topic.eitca-aif.eitca-dora .aif-section > h3 + *{
  margin-top:10px;
}
.eitca-topic.eitca-aif.eitca-dora .aif-noOverlayFix{position:relative;isolation:isolate;}
.eitca-topic.eitca-aif.eitca-dora .aif-noOverlayFix::before,
.eitca-topic.eitca-aif.eitca-dora .aif-noOverlayFix::after{pointer-events:none;}
.eitca-topic.eitca-aif.eitca-dora .aif-section{scroll-margin-top:80px;}
.eitca-topic.eitca-aif.eitca-dora .aif-prose h3{margin-top:18px;}
.eitca-topic.eitca-aif.eitca-dora .aif-prose h3:first-child{margin-top:0;}
.eitca-topic.eitca-aif.eitca-dora .aif-prose p + .aif-callout,
.eitca-topic.eitca-aif.eitca-dora .aif-prose ul + .aif-callout{margin-top:14px;}

.eitca-topic.eitca-aif.eitca-dora .dora-disclaimer{
  border-left:4px solid var(--aif-primary);
  background:#f8fafc;
  padding:10px 12px;
  border-radius:12px;
  color:var(--aif-muted);
  font-size:13px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-sourceList{
  margin:10px 0 0 18px;
  padding:0;
  color:var(--aif-muted);
}
.eitca-topic.eitca-aif.eitca-dora .dora-sourceList li{margin:7px 0;}
.eitca-topic.eitca-aif.eitca-dora .dora-sourceList a{font-weight:850;text-decoration:none;color:var(--aif-primary);}
.eitca-topic.eitca-aif.eitca-dora .dora-sourceList a:hover{text-decoration:underline;}

/* Quiz hardening: radios visible, option text not bolded. */
.eitca-topic.eitca-aif .aif-options{
  gap:12px;
  margin-top:10px;
}
.eitca-topic.eitca-aif label.aif-option,
.eitca-topic.eitca-aif .aif-option{
  align-items:center;
  min-height:44px;
  padding:13px 14px;
  font-weight:400 !important;
}
.eitca-topic.eitca-aif .aif-optionText{
  font-weight:400 !important;
  line-height:1.38;
}
.eitca-topic.eitca-aif .aif-option.is-selected .aif-optionText{font-weight:400 !important;}
.eitca-topic.eitca-aif .aif-radio{
  display:inline-block;
  box-sizing:border-box;
  width:18px !important;
  height:18px !important;
  min-width:18px;
  min-height:18px;
  flex:0 0 18px;
  background:#fff;
}
.eitca-topic.eitca-aif .aif-option input[type="radio"]:focus-visible + .aif-radio{
  outline:3px solid rgba(29,78,216,.22);
  outline-offset:3px;
}
.eitca-topic.eitca-aif .aif-option input[type="radio"]:checked + .aif-radio{border-color:var(--aif-primary);}
.eitca-topic.eitca-aif .aif-option input[type="radio"]:checked + .aif-radio::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:999px;
  background:var(--aif-primary);
}
.eitca-topic.eitca-aif .aif-option input[type="radio"] + .aif-optionText::before{
  content:"";
  display:inline-block;
  width:18px;
  height:18px;
  margin:0 10px -3px 0;
  border:2px solid var(--aif-border2);
  border-radius:999px;
  background:#fff;
  box-sizing:border-box;
}
.eitca-topic.eitca-aif .aif-option input[type="radio"]:checked + .aif-optionText::before{
  border-color:var(--aif-primary);
  background:radial-gradient(circle at center, var(--aif-primary) 0 42%, transparent 46% 100%);
}

/* DORA explorer cards */
.eitca-topic.eitca-aif.eitca-dora .dora-explorerGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
  align-items:start;
}
@media (max-width:960px){
  .eitca-topic.eitca-aif.eitca-dora .dora-explorerGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-nodeGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
@media (max-width:680px){
  .eitca-topic.eitca-aif.eitca-dora .dora-nodeGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-node{
  appearance:none;
  border:1px solid var(--aif-border);
  background:#fff;
  color:var(--aif-text);
  border-radius:16px;
  padding:14px;
  text-align:left;
  cursor:pointer;
  box-shadow:var(--aif-shadowSoft);
  transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease;
  min-height:112px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-node:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(15,23,42,.08);
}
.eitca-topic.eitca-aif.eitca-dora .dora-node:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(29,78,216,.18);
  border-color:rgba(29,78,216,.55);
}
.eitca-topic.eitca-aif.eitca-dora .dora-node.is-active{
  border-color:rgba(29,78,216,.55);
  background:var(--aif-primarySoft);
}
.eitca-topic.eitca-aif.eitca-dora .dora-node strong{display:block;margin-bottom:6px;}
.eitca-topic.eitca-aif.eitca-dora .dora-node small{display:block;color:var(--aif-muted2);font-weight:800;line-height:1.35;}
.eitca-topic.eitca-aif.eitca-dora .dora-panel{
  border:1px solid var(--aif-border);
  border-radius:18px;
  padding:16px;
  background:#fff;
  box-shadow:var(--aif-shadowSoft);
  position:sticky;
  top:12px;
}
@media (max-width:960px){
  .eitca-topic.eitca-aif.eitca-dora .dora-panel{position:static;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-panelTitle{margin:0 0 8px;font-size:18px;font-weight:900;color:var(--aif-text);}
.eitca-topic.eitca-aif.eitca-dora .dora-tagRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.eitca-topic.eitca-aif.eitca-dora .dora-tag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  font-weight:900;
  font-size:12px;
}

/* Pillar and journey strips */
.eitca-topic.eitca-aif.eitca-dora .dora-pillarStrip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
@media (max-width:1000px){.eitca-topic.eitca-aif.eitca-dora .dora-pillarStrip{grid-template-columns:1fr;}}
.eitca-topic.eitca-aif.eitca-dora .dora-pillarStep{
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#fff;
  padding:12px;
  min-height:116px;
  box-shadow:var(--aif-shadowSoft);
  position:relative;
}
.eitca-topic.eitca-aif.eitca-dora .dora-pillarStep:after{
  content:'→';
  position:absolute;
  right:-13px;
  top:42%;
  color:var(--aif-muted2);
  font-weight:900;
}
.eitca-topic.eitca-aif.eitca-dora .dora-pillarStep:last-child:after{content:'';}
@media (max-width:1000px){.eitca-topic.eitca-aif.eitca-dora .dora-pillarStep:after{content:'';}}
.eitca-topic.eitca-aif.eitca-dora .dora-pillarStep b{display:block;color:var(--aif-text);margin-bottom:5px;}
.eitca-topic.eitca-aif.eitca-dora .dora-pillarStep span{display:block;font-size:13px;color:var(--aif-muted);line-height:1.4;}

.eitca-topic.eitca-aif.eitca-dora .dora-miniGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
@media (max-width:860px){.eitca-topic.eitca-aif.eitca-dora .dora-miniGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.eitca-topic.eitca-aif.eitca-dora .dora-miniGrid{grid-template-columns:1fr;}}
.eitca-topic.eitca-aif.eitca-dora .dora-miniCard{
  border:1px solid var(--aif-border);
  border-radius:14px;
  background:#fff;
  padding:12px;
  min-height:98px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-miniCard b{display:block;color:var(--aif-text);margin-bottom:4px;}
.eitca-topic.eitca-aif.eitca-dora .dora-miniCard span{font-size:13px;color:var(--aif-muted);line-height:1.38;}

/* Labs and interactive calculators */
.eitca-topic.eitca-aif.eitca-dora .dora-lab{
  border:1px solid var(--aif-border);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  padding:16px;
  box-shadow:var(--aif-shadowSoft);
  overflow:hidden;
}
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0;
}
@media (max-width:760px){.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid{grid-template-columns:1fr;}}
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:900;
  color:var(--aif-text);
}
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid label span{font-size:13px;color:var(--aif-muted2);font-weight:800;}
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid select,
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid input[type="text"]{
  width:100%;
  border:1px solid var(--aif-border2);
  border-radius:14px;
  padding:11px 12px;
  background:#fff;
  color:var(--aif-text);
  font-weight:800;
}
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid select:focus,
.eitca-topic.eitca-aif.eitca-dora .dora-fieldGrid input[type="text"]:focus{
  outline:none;
  border-color:rgba(29,78,216,.55);
  box-shadow:0 0 0 4px rgba(29,78,216,.16);
}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox{
  border:1px solid var(--aif-border);
  background:#fff;
  border-radius:16px;
  padding:14px;
  color:var(--aif-muted);
  box-shadow:var(--aif-shadowSoft);
  min-height:66px;
  font-weight:750;
}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox b{display:block;color:var(--aif-text);margin-bottom:5px;font-size:17px;}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox span{display:block;line-height:1.45;}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox.is-good{background:#ecfdf5;border-color:#bbf7d0;color:#065f46;}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox.is-mid{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox.is-high{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
.eitca-topic.eitca-aif.eitca-dora .dora-resultBox.is-critical{background:#fef2f2;border-color:#fecaca;color:#991b1b;}
.eitca-topic.eitca-aif.eitca-dora .dora-meter{
  margin:12px 0 0;
  height:10px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}
.eitca-topic.eitca-aif.eitca-dora .dora-meter > span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,#22c55e,#f59e0b,#dc2626);
  transition:width .35s ease;
}

/* Scope and regime cards */
.eitca-topic.eitca-aif.eitca-dora .dora-signalGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
@media (max-width:760px){.eitca-topic.eitca-aif.eitca-dora .dora-signalGrid{grid-template-columns:1fr;}}
.eitca-topic.eitca-aif.eitca-dora .dora-signal{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#fff;
  padding:12px;
  cursor:pointer;
  min-height:74px;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-signal input{margin-top:3px;width:18px;height:18px;accent-color:var(--aif-primary);}
.eitca-topic.eitca-aif.eitca-dora .dora-signal strong{display:block;color:var(--aif-text);font-size:14px;margin-bottom:3px;}
.eitca-topic.eitca-aif.eitca-dora .dora-signal span{display:block;color:var(--aif-muted);font-size:13px;line-height:1.35;}
.eitca-topic.eitca-aif.eitca-dora .dora-regimeOutput{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
@media (max-width:900px){.eitca-topic.eitca-aif.eitca-dora .dora-regimeOutput{grid-template-columns:1fr;}}
.eitca-topic.eitca-aif.eitca-dora .dora-regimeCard{
  border:1px solid var(--aif-border);
  background:#fff;
  border-radius:16px;
  padding:12px;
  min-height:132px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-regimeCard.is-on{border-color:#bfdbfe;background:#eff6ff;}
.eitca-topic.eitca-aif.eitca-dora .dora-regimeCard b{display:block;color:var(--aif-text);margin-bottom:5px;}
.eitca-topic.eitca-aif.eitca-dora .dora-regimeCard span{display:block;color:var(--aif-muted);font-size:13px;line-height:1.38;}

/* Sort board refinements */
.eitca-topic.eitca-aif.eitca-dora .aif-cardItem{font-weight:650;}
.eitca-topic.eitca-aif.eitca-dora .aif-cardItem small{display:block;color:var(--aif-muted2);font-weight:750;margin-top:4px;}
.eitca-topic.eitca-aif.eitca-dora .aif-cardItem.is-selected{
  outline:3px solid rgba(29,78,216,.22);
  background:var(--aif-primarySoft);
  border-color:rgba(29,78,216,.35);
}
.eitca-topic.eitca-aif.eitca-dora .aif-dropzone.is-over{border-color:rgba(29,78,216,.55);background:#eff6ff;}

@media print{
  .eitca-topic.eitca-aif.eitca-dora .aif-hero,
  .eitca-topic.eitca-aif.eitca-dora .aif-btnRow,
  .eitca-topic.eitca-aif.eitca-dora .aif-quiz,
  .eitca-topic.eitca-aif.eitca-dora .aif-sortActions,
  .eitca-topic.eitca-aif.eitca-dora .aif-fcControls{display:none!important;}
  .eitca-topic.eitca-aif.eitca-dora .aif-card,
  .eitca-topic.eitca-aif.eitca-dora .dora-lab,
  .eitca-topic.eitca-aif.eitca-dora .dora-panel{box-shadow:none!important;break-inside:avoid;}
}


/* =========================================================
   DORA Lesson 2 widgets: governance maps, scored labs, sequence builders
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora .dora-ownerMap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#f8fafc;
  padding:8px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable{
  width:100%;
  min-width:820px;
  border-collapse:separate;
  border-spacing:0 8px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable th,
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable td{
  text-align:center;
  vertical-align:middle;
  padding:8px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable thead th{
  font-size:12px;
  color:var(--aif-muted2);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:900;
  white-space:nowrap;
}
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable tbody th{
  text-align:left;
  color:var(--aif-text);
  background:#fff;
  border:1px solid var(--aif-border);
  border-right:0;
  border-radius:14px 0 0 14px;
  font-size:13px;
  line-height:1.35;
  width:34%;
}
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable tbody td{
  background:#fff;
  border-top:1px solid var(--aif-border);
  border-bottom:1px solid var(--aif-border);
}
.eitca-topic.eitca-aif.eitca-dora .dora-ownerTable tbody td:last-child{
  border-right:1px solid var(--aif-border);
  border-radius:0 14px 14px 0;
}
.eitca-topic.eitca-aif.eitca-dora [data-owner-choice]{
  appearance:none;
  border:2px solid var(--aif-border2);
  background:#fff;
  width:30px;
  height:30px;
  border-radius:999px;
  cursor:pointer;
  color:transparent;
  font-weight:1000;
  transition:transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
.eitca-topic.eitca-aif.eitca-dora [data-owner-choice]:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(15,23,42,.08);}
.eitca-topic.eitca-aif.eitca-dora [data-owner-choice]:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(29,78,216,.18);border-color:rgba(29,78,216,.55);}
.eitca-topic.eitca-aif.eitca-dora [data-owner-choice].is-active{
  color:#fff;
  border-color:var(--aif-primary);
  background:var(--aif-primary);
}
.eitca-topic.eitca-aif.eitca-dora tr.is-correct [data-owner-choice].is-active{background:var(--aif-success);border-color:var(--aif-success);}
.eitca-topic.eitca-aif.eitca-dora tr.is-wrong [data-owner-choice].is-active{background:var(--aif-danger);border-color:var(--aif-danger);}

.eitca-topic.eitca-aif.eitca-dora .dora-sequence{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:14px;
}
@media (max-width:860px){.eitca-topic.eitca-aif.eitca-dora .dora-sequence{grid-template-columns:1fr;}}
.eitca-topic.eitca-aif.eitca-dora .dora-seqCol{
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#f8fafc;
  padding:12px;
  min-height:220px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-seqDeck,
.eitca-topic.eitca-aif.eitca-dora .dora-seqTimeline{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:170px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-seqTimeline{
  border:2px dashed var(--aif-border2);
  border-radius:14px;
  padding:10px;
  background:#fff;
}
.eitca-topic.eitca-aif.eitca-dora .dora-seqItem{
  appearance:none;
  text-align:left;
  border:1px solid var(--aif-border);
  border-radius:14px;
  background:#fff;
  padding:11px 12px;
  color:var(--aif-text);
  font-weight:750;
  line-height:1.35;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
  transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.eitca-topic.eitca-aif.eitca-dora .dora-seqItem:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,23,42,.06);}
.eitca-topic.eitca-aif.eitca-dora .dora-seqItem:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(29,78,216,.18);border-color:rgba(29,78,216,.55);}
.eitca-topic.eitca-aif.eitca-dora .dora-seqTimeline .dora-seqItem::before{
  content:counter(step);
  counter-increment:step;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin-right:8px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:1000;
}
.eitca-topic.eitca-aif.eitca-dora .dora-seqTimeline{counter-reset:step;}
.eitca-topic.eitca-aif.eitca-dora .dora-seqItem.is-correct{border-color:#86efac;background:#ecfdf5;}
.eitca-topic.eitca-aif.eitca-dora .dora-seqItem.is-wrong{border-color:#fecaca;background:#fef2f2;}
.eitca-topic.eitca-aif.eitca-dora .dora-seqActions{
  grid-column:1 / -1;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.eitca-topic.eitca-aif.eitca-dora .dora-seqActions .aif-sortResult{flex:1 1 320px;margin-top:0;}

.eitca-topic.eitca-aif.eitca-dora [data-dora-score-lab] .dora-resultBox.is-low{background:#fef2f2;border-color:#fecaca;color:#991b1b;}
.eitca-topic.eitca-aif.eitca-dora [data-dora-score-lab] .dora-resultBox.is-medium{background:#fffbeb;border-color:#fde68a;color:#92400e;}
.eitca-topic.eitca-aif.eitca-dora [data-dora-score-lab] .dora-resultBox.is-strong{background:#ecfdf5;border-color:#bbf7d0;color:#065f46;}

.eitca-topic.eitca-aif.eitca-dora [data-owner-choice].is-active::after{
  content:"✓";
  color:#fff;
  font-weight:1000;
}

.eitca-topic.eitca-aif.eitca-dora [data-dora-score-lab] .dora-meter > span{
  background:linear-gradient(90deg,#dc2626,#f59e0b,#22c55e);
}

.eitca-topic.eitca-aif.eitca-dora [data-dora-score-lab][data-score-mode="risk"] .dora-meter > span{
  background:linear-gradient(90deg,#22c55e,#f59e0b,#dc2626);
}

/* =========================================================
   EITC/IS/DORA — Lesson 3 incident-management widgets
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora .dora-commander,
.eitca-topic.eitca-aif.eitca-dora .dora-classifier,
.eitca-topic.eitca-aif.eitca-dora .dora-reportClock,
.eitca-topic.eitca-aif.eitca-dora .dora-evidenceVault{
  position:relative;
}
.eitca-topic.eitca-aif.eitca-dora .dora-progressLine{
  height:10px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
  margin-bottom:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-progressLine > span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1d4ed8,#0f766e);
  transition:width .35s ease;
}
.eitca-topic.eitca-aif.eitca-dora .dora-stepPanel{
  display:none;
  border:1px solid var(--aif-border);
  border-radius:18px;
  background:#fff;
  padding:16px;
  box-shadow:var(--aif-shadowSoft);
}
.eitca-topic.eitca-aif.eitca-dora .dora-stepPanel.is-active{display:block;}
.eitca-topic.eitca-aif.eitca-dora .dora-stepPanel h3{margin:0 0 8px;color:var(--aif-text);}
.eitca-topic.eitca-aif.eitca-dora .dora-stepPanel p{margin:0;color:var(--aif-muted);line-height:1.55;}
.eitca-topic.eitca-aif.eitca-dora .dora-choiceGrid{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-choiceBtn{
  width:100%;
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#f8fafc;
  color:var(--aif-text);
  padding:13px 14px;
  text-align:left;
  font-weight:650;
  line-height:1.42;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-choiceBtn:hover{border-color:rgba(29,78,216,.35);background:#fff;}
.eitca-topic.eitca-aif.eitca-dora .dora-choiceBtn.is-active{
  border-color:rgba(29,78,216,.65);
  background:#eff6ff;
  box-shadow:0 0 0 4px rgba(29,78,216,.12);
}
.eitca-topic.eitca-aif.eitca-dora .dora-choiceBtn.is-strong{border-color:#86efac;background:#ecfdf5;}
.eitca-topic.eitca-aif.eitca-dora .dora-choiceBtn.is-weak{border-color:#fecaca;background:#fef2f2;}
.eitca-topic.eitca-aif.eitca-dora .dora-commanderFooter{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
@media (max-width:760px){
  .eitca-topic.eitca-aif.eitca-dora .dora-checkGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#fff;
  padding:12px;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard:hover{border-color:rgba(29,78,216,.35);}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard:has(input:checked){
  background:#eff6ff;
  border-color:rgba(29,78,216,.55);
  box-shadow:0 0 0 4px rgba(29,78,216,.10);
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard input{
  margin-top:3px;
  width:18px;
  height:18px;
  min-width:18px;
  accent-color:var(--aif-primary);
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard strong{
  display:block;
  color:var(--aif-text);
  font-size:14px;
  margin-bottom:3px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard small{
  display:block;
  color:var(--aif-muted);
  font-size:13px;
  line-height:1.35;
}
.eitca-topic.eitca-aif.eitca-dora .dora-reportClock .dora-resultBox ul{
  margin:8px 0 0 18px;
  padding:0;
}
.eitca-topic.eitca-aif.eitca-dora .dora-reportClock .dora-resultBox li{margin:5px 0;}
.eitca-topic.eitca-aif.eitca-dora .dora-timelineDrop{
  min-height:180px;
  border:1px dashed var(--aif-border2);
  border-radius:18px;
  background:#f8fafc;
  padding:12px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-sequenceGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media (max-width:860px){
  .eitca-topic.eitca-aif.eitca-dora .dora-sequenceGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-timelineDrop .aif-cardItem,
.eitca-topic.eitca-aif.eitca-dora .aif-deck .aif-cardItem{
  width:100%;
  text-align:left;
}

/* =========================================================
   DORA Lesson 4 widgets: testing programme, crisis simulations, TLPT and remediation evidence
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora .dora-testLadder .dora-pillarStep{
  min-height:132px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-testProgram,
.eitca-topic.eitca-aif.eitca-dora .dora-injectBoard,
.eitca-topic.eitca-aif.eitca-dora .dora-tlptReadiness,
.eitca-topic.eitca-aif.eitca-dora .dora-remediationLab{
  position:relative;
}
.eitca-topic.eitca-aif.eitca-dora .dora-injectBoard{
  border:1px solid var(--aif-border);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  padding:16px;
  box-shadow:var(--aif-shadowSoft);
}
.eitca-topic.eitca-aif.eitca-dora .dora-injectBoard .dora-resultBox{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-tlptGrid .dora-node{
  min-height:128px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard span{
  display:block;
}
.eitca-topic.eitca-aif.eitca-dora .dora-checkCard input:focus-visible{
  outline:3px solid rgba(29,78,216,.22);
  outline-offset:3px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-testNote{
  display:flex;
  gap:10px;
  align-items:flex-start;
  border:1px solid #bfdbfe;
  border-radius:16px;
  background:#eff6ff;
  padding:12px;
  color:#1e3a8a;
}
.eitca-topic.eitca-aif.eitca-dora .dora-testNote strong{
  color:#172554;
}
@media (max-width:760px){
  .eitca-topic.eitca-aif.eitca-dora .dora-testLadder .dora-pillarStep{
    min-height:auto;
  }
}

/* =========================================================
   DORA Lesson 5 widgets: third-party lifecycle, contract clauses,
   register of information and concentration-risk heatmap
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora .dora-clauseBuilder,
.eitca-topic.eitca-aif.eitca-dora .dora-registerLab,
.eitca-topic.eitca-aif.eitca-dora .dora-concentrationLab{
  position:relative;
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
  align-items:start;
}
@media (max-width:980px){
  .eitca-topic.eitca-aif.eitca-dora .dora-registerGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerPreview{
  border:1px solid var(--aif-border);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:var(--aif-shadowSoft);
  position:sticky;
  top:12px;
}
@media (max-width:980px){
  .eitca-topic.eitca-aif.eitca-dora .dora-registerPreview{position:static;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerPreview h3{
  margin:0 0 10px;
  color:var(--aif-text);
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerTable{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerCell{
  border:1px solid var(--aif-border);
  border-radius:14px;
  background:#f8fafc;
  padding:10px 12px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerCell b{
  display:block;
  color:var(--aif-text);
  font-size:13px;
  margin-bottom:3px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-registerCell span{
  display:block;
  color:var(--aif-muted);
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.eitca-topic.eitca-aif.eitca-dora .dora-clauseBuilder .dora-checkCard,
.eitca-topic.eitca-aif.eitca-dora .dora-registerLab .dora-fieldGrid label,
.eitca-topic.eitca-aif.eitca-dora .dora-concentrationLab .dora-fieldGrid label{
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-clauseBuilder .dora-checkGrid{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-sequence .dora-resultBox{
  margin-top:12px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-concentrationLab .dora-meter > span,
.eitca-topic.eitca-aif.eitca-dora .dora-clauseBuilder .dora-meter > span,
.eitca-topic.eitca-aif.eitca-dora .dora-registerLab .dora-meter > span{
  min-width:5%;
}
.eitca-topic.eitca-aif.eitca-dora .dora-clauseBuilder .dora-resultBox ul,
.eitca-topic.eitca-aif.eitca-dora .dora-registerLab .dora-resultBox ul,
.eitca-topic.eitca-aif.eitca-dora .dora-concentrationLab .dora-resultBox ul{
  margin:8px 0 0 18px;
  padding:0;
}
.eitca-topic.eitca-aif.eitca-dora .dora-clauseBuilder .dora-resultBox li,
.eitca-topic.eitca-aif.eitca-dora .dora-registerLab .dora-resultBox li,
.eitca-topic.eitca-aif.eitca-dora .dora-concentrationLab .dora-resultBox li{
  margin:4px 0;
}


/* =========================================================
   DORA Lesson 6 widgets: threat sharing, evidence pack,
   roadmap builder and capstone case file
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora .dora-threatShare,
.eitca-topic.eitca-aif.eitca-dora .dora-evidencePack,
.eitca-topic.eitca-aif.eitca-dora .dora-roadmapLab,
.eitca-topic.eitca-aif.eitca-dora .dora-summaryBuilder,
.eitca-topic.eitca-aif.eitca-dora .dora-capstoneSim,
.eitca-topic.eitca-aif.eitca-dora .dora-supervisorSim{
  position:relative;
}

.eitca-topic.eitca-aif.eitca-dora .dora-dualBars{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0;
}
@media (max-width:760px){
  .eitca-topic.eitca-aif.eitca-dora .dora-dualBars{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-meterLabel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-meterLabel span{
  font-size:13px;
  color:var(--aif-muted2);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.eitca-topic.eitca-aif.eitca-dora .dora-meterLabel b{
  color:var(--aif-text);
  font-size:13px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-riskMeter > span{
  background:linear-gradient(90deg,#22c55e,#f59e0b,#dc2626);
}

.eitca-topic.eitca-aif.eitca-dora .dora-evidenceDomainGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:14px 0;
}
@media (max-width:900px){
  .eitca-topic.eitca-aif.eitca-dora .dora-evidenceDomainGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-domainPanel{
  border:1px solid var(--aif-border);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-domainPanel h3{
  margin:0 0 8px;
  color:var(--aif-text);
}
.eitca-topic.eitca-aif.eitca-dora .dora-domainPanel .dora-checkGrid{
  grid-template-columns:1fr;
  margin:10px 0 0;
}
.eitca-topic.eitca-aif.eitca-dora .dora-domainBar{
  height:8px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}
.eitca-topic.eitca-aif.eitca-dora .dora-domainBar > span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,#1d4ed8,#0f766e);
  transition:width .35s ease;
}

.eitca-topic.eitca-aif.eitca-dora .dora-roadmapOutput{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
@media (max-width:900px){
  .eitca-topic.eitca-aif.eitca-dora .dora-roadmapOutput{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-roadmapOutput > div{
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#fff;
  padding:14px;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-roadmapOutput h3{
  margin:0 0 8px;
  color:var(--aif-text);
}
.eitca-topic.eitca-aif.eitca-dora .dora-roadmapOutput ul{
  margin:0 0 0 18px;
  padding:0;
}
.eitca-topic.eitca-aif.eitca-dora .dora-roadmapOutput li{
  margin:6px 0;
  color:var(--aif-muted);
  line-height:1.4;
}

.eitca-topic.eitca-aif.eitca-dora .dora-textareaGrid textarea{
  width:100%;
  border:1px solid var(--aif-border2);
  border-radius:14px;
  padding:11px 12px;
  background:#fff;
  color:var(--aif-text);
  font-weight:650;
  line-height:1.4;
  resize:vertical;
}
.eitca-topic.eitca-aif.eitca-dora .dora-textareaGrid textarea:focus{
  outline:none;
  border-color:rgba(29,78,216,.55);
  box-shadow:0 0 0 4px rgba(29,78,216,.16);
}
.eitca-topic.eitca-aif.eitca-dora .dora-summaryPreview{
  border:1px solid #bfdbfe;
  border-radius:18px;
  background:#eff6ff;
  padding:14px;
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-summaryPreview h3{
  margin:0 0 8px;
  color:#172554;
}
.eitca-topic.eitca-aif.eitca-dora .dora-summaryPreview p{
  margin:0;
  color:#1e3a8a;
  line-height:1.55;
  font-weight:700;
}

.eitca-topic.eitca-aif.eitca-dora .dora-supervisorSim .dora-resultBox,
.eitca-topic.eitca-aif.eitca-dora .dora-capstoneSim .dora-resultBox{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-threatShare .dora-checkGrid,
.eitca-topic.eitca-aif.eitca-dora .dora-evidencePack .dora-checkGrid{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-summaryBuilder .dora-fieldGrid label{
  font-weight:900;
}



/* =========================================================
   DORA Lesson 7 widgets: control lists, cadence and sign-off
   ========================================================= */
.eitca-topic.eitca-aif.eitca-dora .dora-controlWorkbench,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarBuilder,
.eitca-topic.eitca-aif.eitca-dora .dora-triggerRouter,
.eitca-topic.eitca-aif.eitca-dora .dora-signoffDesk,
.eitca-topic.eitca-aif.eitca-dora .dora-finalPack,
.eitca-topic.eitca-aif.eitca-dora .dora-finalSummary{
  position:relative;
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlDomainGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
@media (max-width:920px){
  .eitca-topic.eitca-aif.eitca-dora .dora-controlDomainGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlRows{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:10px 0 12px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlRow,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarRow{
  display:grid;
  grid-template-columns:1fr 190px;
  gap:12px;
  align-items:center;
  border:1px solid var(--aif-border);
  border-radius:16px;
  background:#f8fafc;
  padding:12px;
}
@media (max-width:700px){
  .eitca-topic.eitca-aif.eitca-dora .dora-controlRow,
  .eitca-topic.eitca-aif.eitca-dora .dora-calendarRow{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlRow b,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarRow b{
  display:block;
  color:var(--aif-text);
  margin-bottom:4px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlRow small,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarRow small{
  display:block;
  color:var(--aif-muted);
  line-height:1.35;
  font-weight:750;
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlRow select,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarRow select{
  width:100%;
  border:1px solid var(--aif-border2);
  border-radius:14px;
  background:#fff;
  color:var(--aif-text);
  padding:10px 12px;
  font-weight:800;
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlSummaryGrid{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-controlSummaryGrid .dora-miniCard span{
  min-height:34px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-calendarGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-calendarOutput{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
@media (max-width:980px){
  .eitca-topic.eitca-aif.eitca-dora .dora-calendarOutput{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  .eitca-topic.eitca-aif.eitca-dora .dora-calendarOutput{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-calendarCol{
  border:1px solid var(--aif-border);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.eitca-topic.eitca-aif.eitca-dora .dora-calendarCol h3{
  margin:0 0 8px;
  color:var(--aif-text);
}
.eitca-topic.eitca-aif.eitca-dora .dora-calendarCol ul{
  margin:0 0 0 18px;
  padding:0;
}
.eitca-topic.eitca-aif.eitca-dora .dora-calendarCol li{
  color:var(--aif-muted);
  margin:6px 0;
  line-height:1.35;
  font-weight:700;
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerGrid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:14px;
  align-items:start;
}
@media (max-width:980px){
  .eitca-topic.eitca-aif.eitca-dora .dora-triggerGrid{grid-template-columns:1fr;}
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerEvents{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerEvent{
  text-align:left;
  border:1px solid var(--aif-border2);
  border-radius:16px;
  background:#fff;
  padding:13px 14px;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerEvent:hover{
  transform:translateY(-1px);
  border-color:rgba(29,78,216,.35);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerEvent.is-active{
  border-color:#bfdbfe;
  background:#eff6ff;
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerEvent b{
  display:block;
  color:var(--aif-text);
  margin-bottom:5px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-triggerEvent span{
  display:block;
  color:var(--aif-muted);
  font-size:13px;
  line-height:1.35;
  font-weight:750;
}
.eitca-topic.eitca-aif.eitca-dora .dora-signoffDesk .dora-resultBox,
.eitca-topic.eitca-aif.eitca-dora .dora-triggerRouter .dora-resultBox,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarBuilder .dora-resultBox,
.eitca-topic.eitca-aif.eitca-dora .dora-controlWorkbench .dora-resultBox{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-finalSummary .dora-fieldGrid label{
  font-weight:900;
}
.eitca-topic.eitca-aif.eitca-dora .dora-finalPack .dora-checkGrid{
  margin-top:14px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-finalPack .dora-meter > span,
.eitca-topic.eitca-aif.eitca-dora .dora-controlWorkbench .dora-meter > span,
.eitca-topic.eitca-aif.eitca-dora .dora-calendarBuilder .dora-meter > span{
  min-width:5%;
}

/* =========================================================
   Audit pass refinements — layout consistency for late widgets
   ========================================================= */
.eitca-topic.eitca-aif .aif-sortGrid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:14px;
  align-items:start;
}
@media (max-width: 980px){
  .eitca-topic.eitca-aif .aif-sortGrid{ grid-template-columns: 1fr; }
}
.eitca-topic.eitca-aif .aif-fcShell{
  margin-top:12px;
}
.eitca-topic.eitca-aif .aif-fcFace{
  position:absolute;
  inset:0;
  padding:18px;
  border-radius:18px;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow:auto;
}
.eitca-topic.eitca-aif.eitca-dora .dora-explorerPanel{
  border:1px solid var(--aif-border);
  background:#ffffff;
  border-radius:18px;
  padding:16px;
  box-shadow:var(--aif-shadowSoft);
  min-height:150px;
}
.eitca-topic.eitca-aif.eitca-dora .dora-explorerPanel h3{
  margin:2px 0 8px;
  color:var(--aif-text);
}
.eitca-topic.eitca-aif.eitca-dora .dora-explorerPanel p{
  margin:0 0 10px;
  color:var(--aif-muted);
}
.eitca-topic.eitca-aif.eitca-dora .dora-flashcards{
  margin-top:12px;
}

/* Audit pass refinements — course-page responsive video and generic sort wrapper */
.embed-container-youtube{
  position:relative;
  width:100%;
  max-width:100%;
  height:0;
  padding-bottom:56.25%;
  overflow:hidden;
  border-radius:18px;
}
.embed-container-youtube iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.eitca-topic.eitca-aif .aif-sort{
  margin-top:12px;
}

/* =========================================================
   Flashcard hotfix — consistent two-sided card shell
   ========================================================= */
.eitca-topic.eitca-aif .aif-fcCard{
  display:block;
  overflow:hidden;
}
.eitca-topic.eitca-aif button.aif-fcCard{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  text-align:left;
  color:inherit;
}
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcFront,
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcBack,
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcSide,
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcFace{
  position:absolute;
  inset:0;
  padding:18px;
  border-radius:18px;
  box-sizing:border-box;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow:auto;
}
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcFront{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  transform:rotateY(0deg);
}
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcBack{
  display:block;
  transform:rotateY(180deg);
  background:#ffffff;
  color:var(--aif-muted);
  line-height:1.55;
}
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcBack p:first-child{margin-top:0;}
.eitca-topic.eitca-aif .aif-fcCard > .aif-fcBack p:last-child{margin-bottom:0;}

/* =========================================================
   DORA flashcards v2 — robust non-3D implementation
   This deliberately disables the earlier rotateY card flip. It prevents
   mirrored text and works even when WordPress normalizes button/span markup.
   ========================================================= */
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard,
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard.is-flipped{
  transform:none !important;
  transform-style:flat !important;
  perspective:none !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
  width:min(760px, 100%) !important;
  min-height:220px !important;
  border-radius:18px !important;
  border:1px solid var(--aif-border) !important;
  background:#ffffff !important;
  box-shadow:var(--aif-shadowSoft) !important;
  position:relative !important;
  overflow:hidden !important;
  cursor:pointer !important;
  outline:none !important;
  text-align:left !important;
  color:inherit !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] button.aif-fcCard{
  appearance:none !important;
  -webkit-appearance:none !important;
  font:inherit !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard:focus-visible{
  box-shadow:0 0 0 4px rgba(37,99,235,.18), var(--aif-shadowSoft) !important;
  border-color:rgba(37,99,235,.45) !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard > .aif-fcFront,
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard > .aif-fcBack,
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard > .aif-fcSide,
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard > .aif-fcFace{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  backface-visibility:visible !important;
  -webkit-backface-visibility:visible !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-height:220px !important;
  padding:18px !important;
  border-radius:18px !important;
  overflow:auto !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard > .aif-fcFront{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:10px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard > .aif-fcBack{
  display:none !important;
  background:#ffffff !important;
  color:var(--aif-muted) !important;
  line-height:1.55 !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard.is-flipped > .aif-fcFront{
  display:none !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard.is-flipped > .aif-fcBack{
  display:block !important;
}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcBack p:first-child{margin-top:0 !important;}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcBack p:last-child{margin-bottom:0 !important;}
.eitca-topic.eitca-aif [data-dora-flashcards] .aif-fcCard.is-flipped{
  border-color:rgba(37,99,235,.32) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.10) !important;
}

/* DORA flashcards v2 safety fallback — unscoped in case the theme wrapper changes */
[data-dora-flashcards] .aif-fcCard,
[data-dora-flashcards] .aif-fcCard.is-flipped{
  transform:none !important;
  transform-style:flat !important;
  perspective:none !important;
}
[data-dora-flashcards] .aif-fcCard > .aif-fcFront,
[data-dora-flashcards] .aif-fcCard > .aif-fcBack,
[data-dora-flashcards] .aif-fcCard > .aif-fcSide,
[data-dora-flashcards] .aif-fcCard > .aif-fcFace{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  backface-visibility:visible !important;
  -webkit-backface-visibility:visible !important;
}
[data-dora-flashcards] .aif-fcCard > .aif-fcFront{ display:flex !important; }
[data-dora-flashcards] .aif-fcCard > .aif-fcBack{ display:none !important; }
[data-dora-flashcards] .aif-fcCard.is-flipped > .aif-fcFront{ display:none !important; }
[data-dora-flashcards] .aif-fcCard.is-flipped > .aif-fcBack{ display:block !important; }

