/* =========================================
   WORKSHOP NOTES LANDING PAGE
========================================= */

.workshop-notes-page,
.workshop-article {
   padding: var(--dmafc-page-pad-top) 0 var(--dmafc-page-pad-bottom);
   color: var(--dmafc-color-text);
}

.workshop-notes-page__header,
.workshop-article__header {
   max-width: 920px;
   margin-left: auto;
   margin-right: auto;
}

.workshop-notes-grid {
   max-width: 1050px;
   margin-left: auto;
   margin-right: auto;
}

.workshop-note-card__body {
   display: flex;
   flex-direction: column;
   height: 100%;
}

.workshop-note-card__meta {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0.65rem;
   margin-bottom: 0.8rem;
   color: var(--dmafc-color-text-soft);
   font-size: 0.82rem;
}

.workshop-badge,
.workshop-note-card__tags span {
   display: inline-flex;
   align-items: center;
   border-radius: var(--dmafc-radius-pill);
   background: var(--dmafc-color-accent-soft);
   color: var(--dmafc-color-link);
   font-size: 0.78rem;
   font-weight: 600;
   line-height: 1.2;
}

.workshop-badge {
   padding: 0.38rem 0.62rem;
   letter-spacing: 0.04em;
   text-transform: uppercase;
}

.workshop-badge--article {
   background: var(--dmafc-color-surface-subtle);
   border: 1px solid var(--dmafc-color-border-subtle);
   color: var(--dmafc-color-text-muted);
}

.workshop-note-card__title {
   margin: 0 0 0.35rem;
   color: var(--dmafc-color-text);
   font-size: 1.45rem;
   font-weight: 500;
   line-height: 1.3;
}

.workshop-note-card__author {
   margin-bottom: 0.85rem;
   color: var(--dmafc-color-text-soft);
   font-style: italic;
}

.workshop-note-card p {
   line-height: var(--dmafc-copy-line);
}

.workshop-note-card__tags {
   display: flex;
   flex-wrap: wrap;
   gap: 0.45rem;
   margin: 0.15rem 0 1.2rem;
}

.workshop-note-card__tags span {
   padding: 0.32rem 0.55rem;
   font-weight: 500;
}

.workshop-notes-page__coming-soon {
   max-width: 850px;
   margin: 2rem auto 0;
   color: var(--dmafc-color-text-soft);
   text-align: center;
   font-style: italic;
}

/* =========================================
   ARTICLE HEADER / NAVIGATION
========================================= */

.workshop-breadcrumb {
   display: flex;
   flex-wrap: wrap;
   gap: 0.45rem;
   max-width: 1120px;
   margin: 0 auto 1.5rem;
   color: var(--dmafc-color-text-soft);
   font-size: 0.9rem;
}

.workshop-breadcrumb a {
   color: var(--dmafc-color-link);
   text-decoration: none;
}

.workshop-breadcrumb a:hover,
.workshop-breadcrumb a:focus {
   color: var(--dmafc-color-link-hover);
   text-decoration: underline;
}

.workshop-article__actions {
   display: flex;
   justify-content: center;
   margin: -0.35rem 0 2rem;
}

/* =========================================
   TABLE OF CONTENTS
========================================= */

.workshop-toc {
   position: sticky;
   top: 1rem;
   padding: 1rem 1rem 0.9rem;
}

.workshop-toc h2 {
   margin: 0 0 0.75rem;
   color: var(--dmafc-color-text);
   font-size: 1rem;
   font-weight: 600;
}

.workshop-toc ol {
   margin: 0;
   padding-left: 1.15rem;
}

.workshop-toc li {
   margin-bottom: 0.55rem;
   color: var(--dmafc-color-text-soft);
   line-height: 1.4;
}

.workshop-toc a {
   color: var(--dmafc-color-link);
   text-decoration: none;
}

.workshop-toc a:hover,
.workshop-toc a:focus {
   color: var(--dmafc-color-link-hover);
   text-decoration: underline;
}

/* =========================================
   ARTICLE CONTENT
========================================= */

.workshop-article__content {
   max-width: 880px;
}

.workshop-section {
   margin-bottom: 1.5rem;
   scroll-margin-top: 1rem;
}

.workshop-section h2 {
   margin: 0 0 1rem;
   color: var(--dmafc-color-text);
   font-size: 1.42rem;
   font-weight: 500;
   line-height: 1.3;
}

.workshop-section h3 {
   margin: 1.6rem 0 0.8rem;
   color: var(--dmafc-color-text);
   font-size: 1.12rem;
   font-weight: 600;
   line-height: 1.35;
}

.workshop-section p,
.workshop-section li,
.workshop-source-note {
   color: var(--dmafc-color-text);
   font-size: var(--dmafc-copy-size);
   line-height: var(--dmafc-copy-line);
}

.workshop-section p:last-child,
.workshop-section ul:last-child,
.workshop-section ol:last-child {
   margin-bottom: 0;
}

.workshop-section ul,
.workshop-section ol {
   padding-left: 1.35rem;
}

.workshop-section li + li {
   margin-top: 0.75rem;
}

.workshop-procedure {
   margin-bottom: 0;
}

.workshop-procedure > li {
   padding-left: 0.2rem;
}

/* =========================================
   CALLOUTS
========================================= */

.workshop-callout {
   margin: 0 0 1.25rem;
   padding: 1rem 1.05rem;
   border: 1px solid var(--dmafc-color-border-soft);
   border-left: 4px solid var(--dmafc-color-link);
   border-radius: var(--dmafc-radius-md);
   background: var(--dmafc-color-surface-subtle);
   line-height: 1.6;
}

.workshop-callout--warning {
   border-left-color: var(--dmafc-color-text-muted);
}

/* =========================================
   FIGURES
========================================= */

.workshop-figure {
   margin: 1.25rem auto;
   text-align: center;
}

.workshop-figure img {
   display: block;
   width: 100%;
   height: auto;
   margin: 0 auto;
   border: 1px solid var(--dmafc-color-border-subtle);
   border-radius: var(--dmafc-radius-md);
   background: var(--dmafc-color-surface);
}

.workshop-figure figcaption {
   margin-top: 0.55rem;
   color: var(--dmafc-color-text-soft);
   font-size: 0.85rem;
   line-height: 1.45;
}

.workshop-figure--wide img {
   max-width: 780px;
}

.workshop-figure--medium img {
   max-width: 560px;
}

/* =========================================
   SOURCE / SIGN-OFF
========================================= */

.workshop-signoff {
   margin-top: 1.25rem;
}

.workshop-byline {
   color: var(--dmafc-color-text-muted);
}

.workshop-source-note {
   margin: 0.25rem 0 0;
   padding: 1rem 1.1rem;
   border-top: 1px solid var(--dmafc-color-border-soft);
   color: var(--dmafc-color-text-soft);
   font-size: 0.9rem;
   font-style: italic;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {
   .workshop-toc {
      position: static;
      margin-bottom: 0.25rem;
   }

   .workshop-article__content {
      max-width: none;
   }
}

@media (max-width: 767px) {
   .workshop-notes-page,
   .workshop-article {
      padding: var(--dmafc-page-pad-top-mobile) 0 var(--dmafc-page-pad-bottom-mobile);
   }

   .workshop-article__actions .btn-dmafc {
      width: 100%;
   }

   .workshop-section .card-dmafc__body--lg {
      padding: var(--dmafc-space-card-sm);
   }

   .workshop-section h2 {
      font-size: 1.28rem;
   }
}

/* Publication credit for articles that also appeared in print. */
.workshop-publication-note {
   margin-top: .35rem;
   margin-bottom: 0;
   font-size: .95rem;
}

.workshop-note-card__publication {
   margin-top: -.25rem;
   font-size: .9rem;
}
