/* ── shared back link ── */
.di-back,.dc-back { display:inline-flex; align-items:center; gap:5px; color:#555; text-decoration:none; font-size:13px; margin-bottom:18px; }
.di-back:hover,.dc-back:hover { color:#4a8246; text-decoration:underline; }

/* ── panel shell ── */
.di-panel,.dc-panel { border:1px solid #ddd; border-radius:8px; margin-bottom:24px; overflow:hidden; }

/* ── header: grey card, mirrors listing card ── */
.di-panel-head,.dc-panel-head { background:#f6f6f4; padding:18px 22px 14px; border-bottom:1px solid #eee; }
.di-head-top,.dc-head-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:10px; }
.di-panel-head h1,.dc-panel-head h1 { margin:0; font-size:16px; font-weight:700; font-family:inherit; line-height:1.4; color:#111; }
.di-active-badge,.dc-active-badge { display:inline-flex; align-items:center; gap:4px; flex-shrink:0; font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px; background:#e4f4e8; color:#1c7a32; border:1px solid #b2d9bb; white-space:nowrap; }
.di-active-badge::before,.dc-active-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:#2e7d32; display:inline-block; }

/* ── tags ── */
.di-tags,.dc-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.di-tag,.dc-tag { font-size:11px; font-weight:600; padding:2px 9px; border-radius:3px; }

.di-tag-drone,.dc-tag-drone         { background:#fff3e0; color:#a84800; }
.di-tag-ase,.dc-tag-ase   { background:#e3f2fd; color:#1255a0; }

/* ── body ── */
.di-panel-body,.dc-panel-body { padding:20px 22px; }
.di-meta,.dc-meta { font-size:13.5px; margin-bottom:6px; color:#000; }
.di-meta strong,.dc-meta strong { color:#1a1a1a; }
.di-panel-body p,.dc-panel-body p { font-size:14px; line-height:1.8; color:#000; margin-bottom:16px; }
.di-panel-body p:last-child,.dc-panel-body p:last-child { margin-bottom:0; }
.di-divider,.dc-divider { border:none; border-top:1px solid #eee; margin:16px 0; }
.di-cf::after,.dc-cf::after { content:""; display:table; clear:both; }

/* ── phase boxes (DE) ── */
.di-phases { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:14px 0 18px; }
.di-phase { background:#fafafa; border:1px solid #e0e0e0; border-radius:4px; padding:12px 13px; text-align:center; }
.di-phase-as { font-size:20px; font-weight:700; color:#4a8246; line-height:1.1; margin-bottom:4px; }
.di-phase-lbl { font-size:11.5px; font-weight:600; color:#1a1a1a; margin-bottom:4px; }
.di-phase-desc { font-size:11px; color:#000; line-height:1.45; }

/* ── phase boxes (EN) ── */
.dc-courses { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:14px 0 18px; }
.dc-course { background:#fafafa; border:1px solid #e0e0e0; border-radius:4px; padding:12px 14px; text-align:center; }
.dc-course-name { font-size:13.5px; font-weight:700; color:#1a1a1a; margin-bottom:5px; }
.dc-course-detail { font-size:12px; color:#000; line-height:1.6; }

/* ── instructors / people ── */
.di-instructors,.dc-people { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.di-instructor,.dc-person { background:#fafafa; border:1px solid #e0e0e0; border-radius:4px; padding:11px 14px; }
.di-instructor-name,.dc-person-name { font-size:13.5px; font-weight:700; color:#1a1a1a; margin-bottom:2px; }
.di-instructor-role,.dc-person-role { font-size:12px; color:#000; }
.di-instructor-mail,.dc-person-mail { font-size:12px; color:#3d7a39; }

/* ── meta grid ── */
.di-meta-grid,.dc-meta-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:6px 20px; padding-top:12px; border-top:1px solid #eee; }
.di-meta-item,.dc-meta-item { display:flex; flex-direction:column; gap:1px; }
.di-meta-label,.dc-meta-label { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#000; }
.di-meta-value,.dc-meta-value { font-size:13px; color:#000; }

.di-section-label { font-size:14px; font-weight:600; color:#1a1a1a; margin-bottom:10px; }

/* ── Right-side header column (Active + buttons) ── */
.di-head-right { display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex-shrink:0; }

/* ── Pill buttons – same shape as Active badge ── */
.di-nav-btns { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.di-pill-btn {
  display:inline-flex; align-items:center; flex-shrink:0;
  font-size:11px; font-weight:700; padding:5px 16px;
  border-radius:999px; white-space:nowrap;
  text-decoration:none; transition:opacity .15s;
}

/* ── Section headings (Partners / Publications) ── */
.di-section-title {
  font-size:15px; font-weight:700; color:#111;
  margin:0 0 12px; padding:0; font-family:inherit;
  scroll-margin-top:20px;
}
