/* October 27 workshop reference; scoped to the new section and its native blocks. */
.wn-workshops { padding: 36px 0 48px; color: var(--ink); scroll-margin-top: 96px; }
.wn-workshops #workshop-ladder { scroll-margin-top: 96px; }
.wn-workshops .section-label { margin: 0 0 12px; font-size: 18px; }
.wn-workshops .wn-workshops-title { font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; font-weight: 900; margin: 0 0 12px; }
.wn-workshops p { font-size: 16px; line-height: 1.6; }
.wn-workshops .wn-workshops-intro { margin: 0 0 22px; color: var(--ink-3); }
.wn-workshop-list { display: flex; flex-direction: column; gap: 12px; counter-reset: workshop; }
.wn-workshop-list > .wn-workshop { margin: 0; }
.wn-workshop-summary-blurb { display: block; font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--ink-3); margin-top: 4px; }
.wn-workshop { --workshop-color: #16305c; counter-increment: workshop; border: 1px solid var(--sand); border-left: 6px solid var(--workshop-color); border-radius: 16px; background: #fff; overflow: hidden; scroll-margin-top: 120px; }
.wn-workshop--01 { --workshop-color: #1f7a7a; }
.wn-workshop--02 { --workshop-color: #8a5a10; }
.wn-workshop--03 { --workshop-color: #a84b16; }
.wn-workshop--04 { --workshop-color: #386088; }
.wn-workshop--05 { --workshop-color: #8a5a10; }
.wn-workshop--06 { --workshop-color: #16305c; }
.wn-workshop > summary { position: relative; display: block; list-style: none; padding: 22px 72px 22px 94px; min-height: 80px; font-size: 19px; font-weight: 800; line-height: 1.4; cursor: pointer; color: var(--ink); background: #fff; }
.wn-workshop > summary::-webkit-details-marker { display: none; }
.wn-workshop > summary::before { content: counter(workshop, decimal-leading-zero); position: absolute; left: 22px; top: 50%; transform: translateY(-50%); color: var(--workshop-color); font-size: 30px; font-weight: 900; }
.wn-workshop > summary::after { content: ""; position: absolute; right: 22px; top: calc(50% - 18px); width: 36px; height: 36px; border-radius: 50%; background: var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2440' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 18px 18px no-repeat; }
.wn-workshop[open] > summary::after { transform: rotate(180deg); }
.wn-workshop > summary:hover, .wn-workshop > summary:active { background: #fbf8f2; color: var(--ink); }
.wn-workshop > summary:focus-visible { outline: 3px solid var(--gold-500); outline-offset: -5px; }
.wn-workshop[open] { box-shadow: 0 18px 40px -26px rgba(15,36,64,.5); }
.wn-workshop .wn-workshop-description { margin: 0; padding: 0 22px 18px 94px; color: var(--ink-3); background: #fff; font-size: 15px; }
.wn-workshop-columns { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 28px; border-top: 1px solid var(--sand); padding: 22px; background: #fdfbf7; }
.wn-workshop > .wn-workshop-columns { margin-block-start: 0; }
.wn-workshop-copy, .wn-workshop-side { min-width: 0; }
.wn-workshop .wn-workshop-label { color: var(--workshop-color); font-size: 13px; font-weight: 800; line-height: 1.4; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 8px; }
.wn-workshop-copy p { margin: 0 0 18px; }
.wn-workshop-learn { list-style: none; margin: 0 0 20px; padding: 0; }
.wn-workshop-learn li { position: relative; padding-left: 32px; margin-bottom: 8px; font-size: 16px; line-height: 1.5; }
.wn-workshop-learn li::before { content: "✓"; position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 22px; height: 22px; background: var(--workshop-color); color: #fff; border-radius: 50%; font-size: 12px; }
.wn-workshop-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.wn-workshop-fact { background: #fff; border: 1px solid var(--sand); border-radius: 12px; padding: 12px; min-width: 0; overflow-wrap: anywhere; }
.wn-workshop-fact p { margin: 0; font-size: 15px; line-height: 1.4; }
.wn-workshop-fact p:first-child { color: var(--ink-3); font-size: 13px; margin-bottom: 4px; }
.wn-workshop-photo { margin-bottom: 16px; }
.wn-workshop-photo:not(:has(img[src]:not([src=""]))) { display: none; }
.wn-workshop-photo figure { margin: 0; }
.wn-workshop-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; border-radius: 12px; }
.wn-workshop-dates { border: 1px solid var(--sand); border-radius: 12px; background: #fff; padding: 16px; overflow-wrap: anywhere; }
.wn-workshop-dates p { margin: 0 0 14px; }
.wn-workshop-dates .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.wn-workshop-dates .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 999px; background: var(--navy-600); color: #fff; font-size: 16px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.wn-workshop-dates .wp-block-button__link:is(:visited,:hover,:active) { color: #fff; }
.wn-workshop-dates .wp-block-button__link:hover { background: var(--navy-700); }
.wn-workshops :is(a,summary):focus-visible { outline: 3px solid var(--gold-500); outline-offset: 3px; }
.wn-workshops summary:focus-visible { outline-offset: -5px; }
.wn-workshop-close { grid-column: 1 / -1; justify-self: start; margin: 0; min-height: 44px; padding: 8px 16px; border: 1px solid var(--sand); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; }
.wn-workshop-close:is(:hover,:active) { background: var(--cream); color: var(--ink); }
.wn-workshop-close:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 3px; }
.editor-styles-wrapper .wn-workshop-photo:not(:has(img[src]:not([src=""]))) { display: block; min-height: 80px; border: 1px dashed var(--sand); }
@media (max-width: 760px) {
  .wn-workshop-columns { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 18px; }
  .wn-workshop > summary { padding: 18px 60px 18px 66px; font-size: 18px; }
  .wn-workshop > summary::before { left: 16px; font-size: 26px; }
  .wn-workshop > summary::after { right: 14px; }
  .wn-workshop .wn-workshop-description { padding: 0 18px 18px; }
  .wn-workshop-facts { gap: 6px; }
  .wn-workshop-fact { padding: 9px; }
}
@media (max-width: 380px) {
  .wn-workshop-facts { grid-template-columns: minmax(0,1fr); }
}
