/* Scoped additions for the thematic programme; existing cards and status colours
   remain supplied by shared.css and schedule-modal.css. */
.thematic-content .prose > ul { margin:0 0 28px; padding-left:1.4em; }
.thematic-content .prose > ul > li + li { margin-top:8px; }
.thematic-content .thematic-session h3 { font-size:1.08rem; color:var(--primary-dark); margin:0 0 20px; text-wrap:initial; }
.thematic-content .thematic-session__label { font-size:0.84rem; color:var(--ink-muted); margin:0 0 8px; }
.thematic-content .thematic-status { margin-left:8px; }
.thematic-status[hidden] { display:none; }
.thematic-content .thematic-form-placeholder { background:var(--bg-alt); }
.thematic-content .thematic-form-placeholder p { margin:0; }
.thematic-content a[href^="mailto:"], .thematic-content a[href^="tel:"] { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.thematic-content a:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.thematic-overview .thematic-summary { margin:0; }
.thematic-overview .thematic-form-note { margin:0; font-size:0.88rem; }
.thematic-project .thematic-shared { grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 24px; margin-bottom:28px; }
.thematic-shared__wide { grid-column:1 / -1; }
.thematic-project .thematic-programme .btn-outline {
  display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:0.82rem; font-weight:700; color:var(--primary);
  border:1px solid var(--primary); border-radius:999px; padding:10px 20px; transition:background .15s ease;
  background:transparent; font-family:inherit; cursor:pointer;
}
.thematic-project .btn-outline:hover, .thematic-project .btn-outline:focus-visible { background:var(--primary-soft); }
.thematic-project .btn-outline:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.thematic-project .sub-programme-actions [hidden] { display:none; }
/* Adapt the shared SMTP overlay to a native dialog; retain its panel dimensions,
   header, close control, scrolling body, status colours and responsive rules. */
.thematic-dialog { width:100%; height:100%; max-width:none; max-height:none; margin:0; border:0; color:var(--ink); }
.thematic-dialog:not([open]) { display:none; }
.thematic-dialog::backdrop { background:transparent; }
.thematic-dialog-open { overflow:hidden; overscroll-behavior:none; }
.thematic-dialog .schedule-modal__body:focus-visible { outline:2px solid var(--primary); outline-offset:-3px; }
.thematic-dialog .schedule-modal__body > h3 { font-size:1rem; color:var(--primary-dark); }
.thematic-dialog .schedule-modal__body > ul { padding-left:1.4em; }
.thematic-dialog .schedule-modal__body > ul > li + li { margin-top:8px; }
@media (max-width:640px) {
  .thematic-project .thematic-shared { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .thematic-project .sub-programme-actions button { width:100%; }
  .thematic-content .thematic-status { margin:6px 0 0; }
  .thematic-content .info-grid dd .thematic-status { display:table; }
  .thematic-content .info-grid dd .thematic-status[hidden] { display:none; }
}
