/*
 * WDS public workshop booking UI — [wdsbm_workshops] / [wdsbm_public_booking] listing, cards and booking modal.
 * dev.307: dead/duplicate declarations removed and legacy colours mapped to --wdsbm-* tokens.
*/

.wdsbm-public {
  margin: 0 auto;
  padding: clamp(42px,5vw,72px) clamp(14px,4vw,56px);
  font-family: inherit;
  color: var(--wds-ink);
}
.wdsbm-public * {
  box-sizing: border-box;
}
.wdsbm-public-head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(260px,.85fr);
  align-items: end;
  gap: clamp(28px,7vw,100px);
  max-width: none;
  margin: 0 0 clamp(30px,4vw,52px);
  text-align: left;
}
.wdsbm-public-head .wdsbm-eyebrow {
  grid-column: 1/-1;
}
.wdsbm-eyebrow {
  display: block;
  color: var(--wdsbm-text-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.wdsbm-public-head h2 {
  margin: 0 !important;
  color: var(--wdsbm-ink) !important;
  font-size: clamp(42px,5vw,68px) !important;
}
.wdsbm-public-head p {
  margin: 0 !important;
}
.wdsbm-login-required {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 32px;
  border-top: 1px solid var(--wds-line);
  border-bottom: 1px solid var(--wds-line);
  background: transparent;
}
.wdsbm-login-required p {
  max-width: 650px;
  margin: 5px 0 0 !important;
  color: var(--wds-muted) !important;
  line-height: 1.55 !important;
}
.wdsbm-login-account-button,
.wdsbm-login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 11px 17px;
  border: 1px solid var(--wdsbm-ink);
  border-radius: 0;
  background: var(--wdsbm-ink);
  color: #fff !important;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  transition: .25s ease;
}
.wdsbm-login-account-button:hover,
.wdsbm-login-button:hover {
  background: transparent;
  color: var(--wdsbm-ink) !important;
}
.wdsbm-workshop-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(16px,2vw,28px);
}
.wdsbm-workshop-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: 1 !important;
  visibility: visible !important;
}
.wdsbm-workshop-media .wdsbm-workshop-image,
.wdsbm-workshop-image {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  height: auto;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}
.wdsbm-gallery-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  border: 1px solid rgba(17,17,17,.15);
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: var(--wdsbm-ink);
  font-size: 22px;
  line-height: 28px;
  cursor: pointer;
}
.wdsbm-gallery-nav.prev {
  left: 10px;
}
.wdsbm-gallery-nav.next {
  right: 10px;
}
.wdsbm-gallery-counter {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 8px;
  background: rgba(17,17,17,.75);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
}
.wdsbm-workshop-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.wdsbm-date-pill {
  display: block;
  margin: 0 0 12px;
  padding: 0;
  background: transparent;
  border-radius: 0;
  text-transform: uppercase;
}
.wdsbm-workshop-body h3 {
  color: var(--wdsbm-ink) !important;
  font-size: clamp(20px,2vw,27px) !important;
}
.wdsbm-workshop-body>p {
  margin: 0 !important;
}
.wdsbm-card-meta {
  display: flex;
  border-top: 1px solid var(--wds-line);
}
.wdsbm-card-meta .is-sold-out {
  text-transform: uppercase;
}
.wdsbm-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wdsbm-card-footer strong {
  color: var(--wdsbm-ink);
}
.wdsbm-card-footer strong small {
  font-weight: 600;
  text-transform: uppercase;
}
.wdsbm-book-button,
.wdsbm-waitlist-button,
.wdsbm-submit,
.wdsbm-panel-close-button {
  min-height: 40px;
  padding: 10px 15px;
  border: 1px solid var(--wdsbm-ink);
  border-radius: 0;
  background: var(--wdsbm-ink);
  color: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: .25s ease;
}
.wdsbm-book-button:hover,
.wdsbm-waitlist-button:hover,
.wdsbm-submit:hover {
  background: #fff;
  color: var(--wdsbm-ink);
}
.wdsbm-book-button:disabled {
  border-color: var(--wdsbm-border-strong);
  background: var(--wdsbm-border);
  color: var(--wdsbm-text-muted);
  cursor: not-allowed;
}
.wdsbm-empty {
  padding: 32px 0;
  border-top: 1px solid var(--wds-line);
  border-bottom: 1px solid var(--wds-line);
  border-radius: 0;
  background: transparent;
  color: var(--wdsbm-text-muted);
  text-align: left;
}
.wdsbm-booking-panel {
  position: fixed;
  z-index: 999999;
  inset: 0;
  padding: 24px;
  overflow: auto;
}
.wdsbm-booking-step,
.wdsbm-success {
  position: relative;
  margin: 3vh auto;
  border-radius: 0;
  box-shadow: 0 28px 90px rgba(0,0,0,.3);
}
.wdsbm-panel-close {
  display: inline-grid;
  place-items: center;
  flex: 0 0 42px;
  padding: 0;
  border: 1px solid rgba(17,17,17,.22);
  border-radius: 50%;
  color: var(--wdsbm-ink);
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.wdsbm-panel-close:hover {
  background: var(--wdsbm-ink);
  color: #fff;
  border-color: var(--wdsbm-ink);
  transform: rotate(4deg);
}
.wdsbm-panel-close:focus-visible {
  outline: 2px solid var(--wdsbm-ink);
  outline-offset: 3px;
}
.wdsbm-booking-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  flex: 0 0 auto;
}
.wdsbm-booking-step>.wdsbm-eyebrow {
  margin-bottom: 10px;
}
.wdsbm-selected-title {
  max-width: 650px;
  margin: 0 0 25px !important;
  color: var(--wdsbm-ink) !important;
  font-size: clamp(30px,4vw,46px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.045em;
}
.wdsbm-form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.wdsbm-booking-form label {
  display: block;
  margin: 12px 0;
  color: var(--wdsbm-ink-hover);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}
.wdsbm-booking-form input[type=text],
.wdsbm-booking-form input[type=email],
.wdsbm-booking-form input[type=tel],
.wdsbm-booking-form input[type=number],
.wdsbm-booking-form textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid rgba(17,17,17,.22);
  color: var(--wdsbm-ink);
  font: inherit;
  font-size: 13px;
  outline: 0;
}
.wdsbm-booking-form input:focus,
.wdsbm-booking-form textarea:focus {
  border-color: var(--wdsbm-ink);
  box-shadow: 0 0 0 1px var(--wdsbm-ink);
}
.wdsbm-booking-form input[readonly] {
  background: var(--wdsbm-border);
  color: var(--wdsbm-text-muted);
  cursor: not-allowed;
}
.wdsbm-addons {
  margin: 16px 0;
  padding: 14px;
  border: 1px solid var(--wds-line);
  border-radius: 0;
}
.wdsbm-addon {
  display: flex !important;
  align-items: center;
  gap: 8px;
}
.wdsbm-addon span {
  flex: 1;
}
.wdsbm-coupon-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
}
.wdsbm-apply-coupon {
  border: 1px solid var(--wdsbm-ink);
  background: transparent;
  color: var(--wdsbm-ink);
  font-weight: 700;
  cursor: pointer;
}
.wdsbm-apply-coupon:hover {
  background: var(--wdsbm-ink);
  color: #fff;
}
.wdsbm-coupon-status {
  display: block;
  margin-top: 6px;
  color: var(--wdsbm-success);
  font-weight: 700;
}
.wdsbm-coupon-status.is-error {
  color: var(--wdsbm-danger);
}
.wdsbm-quote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 0;
  background: transparent;
}
.wdsbm-quote span {
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wdsbm-check {
  font-weight: 400 !important;
}
.wdsbm-form-error {
  margin: 12px 0;
  padding: 11px;
  border: 1px solid var(--wdsbm-danger-line);
  border-radius: 0;
  background: var(--wdsbm-danger-soft);
  color: var(--wdsbm-danger);
}
.wdsbm-hp {
  position: absolute !important;
  left: -99999px !important;
}
.wdsbm-success-icon {
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--wdsbm-ink);
  border-radius: 50%;
  background: transparent;
  color: var(--wdsbm-ink);
}
.wdsbm-waitlist-panel {
  position: fixed;
  z-index: 1000000;
  inset: 0;
  padding: 26px;
  overflow: auto;
  background: rgba(17,17,17,.72);
  backdrop-filter: blur(5px);
}
.wdsbm-waitlist-panel:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 4vh;
  width: min(720px,calc(100% - 52px));
  min-height: 330px;
  transform: translateX(-50%);
  border-radius: 0;
  background: var(--wdsbm-surface-sunken);
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
}
.wdsbm-waitlist-panel>span,
.wdsbm-waitlist-panel>h3,
.wdsbm-waitlist-panel>p,
.wdsbm-waitlist-panel>form,
.wdsbm-waitlist-panel>.wdsbm-waitlist-close {
  position: relative;
  z-index: 1;
}
.wdsbm-waitlist-panel>span,
.wdsbm-waitlist-panel>h3,
.wdsbm-waitlist-panel>p,
.wdsbm-waitlist-panel>form {
  display: block;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}
.wdsbm-waitlist-panel>.wdsbm-eyebrow {
  margin-top: calc(4vh + 30px);
}
.wdsbm-waitlist-title {
  margin-top: 8px;
  margin-bottom: 8px;
}
.wdsbm-waitlist-panel>p {
  color: var(--wdsbm-text-muted);
}
.wdsbm-waitlist-form {
  display: grid;
  gap: 12px;
}
.wdsbm-waitlist-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
}
.wdsbm-waitlist-form input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--wdsbm-text-subtle);
  border-radius: 0;
}
.wdsbm-waitlist-close {
  position: absolute !important;
  top: calc(4vh + 12px);
  left: calc(50% + min(334px,calc(50% - 40px)));
  border: 0;
  background: transparent;
  font-size: 30px;
  cursor: pointer;
}
.wdsbm-waitlist-message {
  padding: 11px 12px;
  background: var(--wdsbm-success-soft);
  color: var(--wdsbm-success);
}
.wdsbm-waitlist-message.is-error {
  background: var(--wdsbm-danger-soft);
  color: var(--wdsbm-danger);
}
.wdsbm-single-workshop-page {
  padding: clamp(28px,5vw,64px) 18px;
  background: var(--wdsbm-surface-sunken);
}
.wdsbm-single-workshop-shell {
  max-width: 1360px;
  margin: 0 auto;
}
.wdsbm-single-workshop-page .wdsbm-public {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}
.wdsbm-single-workshop-page .wdsbm-public-head {
  text-align: left;
}
.wdsbm-single-workshop-page .wdsbm-workshop-grid {
  grid-template-columns: minmax(0,780px);
  justify-content: start;
}
.wdsbm-single-workshop-hero {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr);
  gap: clamp(28px,6vw,80px);
  align-items: center;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.wdsbm-single-workshop-cover {
  min-height: 320px;
  max-height: 560px;
  overflow: hidden;
  border-radius: 0;
  background: var(--wdsbm-border-strong);
}
.wdsbm-single-workshop-cover img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 560px;
  object-fit: cover;
}
.wdsbm-single-workshop-intro {
  padding: 8px 0;
}
.wdsbm-single-workshop-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--wdsbm-text-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.wdsbm-single-workshop-intro h1 {
  margin: 0 0 16px;
  color: var(--wdsbm-ink);
  font-size: clamp(38px,5vw,66px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.05em;
}
.wdsbm-single-workshop-intro p {
  margin: 0;
  color: var(--wdsbm-text-muted);
  font-size: 13px;
  line-height: 1.7;
}
.wdsbm-payment-button {
  display: inline-block;
  margin: 8px 6px;
  padding: 11px 18px;
  border-radius: 0;
  font-weight: 700;
  text-decoration: none;
}
.wdsbm-payment-button:hover {
  background: #fff;
  color: var(--wdsbm-ink) !important;
}
.wdsbm-payment-button[hidden] {
  display: none !important;
}
.wdsbm-private-quote [data-quote-price],
.wdsbm-private-quote .wdsbm-package-price,
.wdsbm-private-quote .wdsbm-menu-price,
.wdsbm-private-quote .wdsbm-addon-price,
.wdsbm-private-quote .wdsbm-quote-estimated-total,
.wdsbm-private-quote .price,
.wdsbm-private-quote .amount {
  display: none !important;
}
@media(max-width:980px) {
  .wdsbm-workshop-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .wdsbm-single-workshop-hero {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}
@media(max-width:640px) {
  .wdsbm-login-required {
    align-items: stretch;
    flex-direction: column;
  }
  .wdsbm-login-account-button {
    width: 100%;
  }
  .wdsbm-workshop-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .wdsbm-card-meta {
    flex-direction: column;
    align-items: flex-start;
  }
  .wdsbm-gallery-nav {
    width: 28px;
    height: 28px;
    font-size: 18px;
  }
  .wdsbm-gallery-counter {
    font-size: 7px;
  }
  .wdsbm-booking-step,
  .wdsbm-success {
    margin: 1vh auto;
  }
  .wdsbm-selected-title {
    padding-right: 28px;
    font-size: 31px !important;
  }
  .wdsbm-coupon-row {
    grid-template-columns: 1fr;
  }
  .wdsbm-apply-coupon {
    width: 100%;
  }
  .wdsbm-waitlist-panel {
    padding: 10px;
  }
  .wdsbm-waitlist-panel:before {
    top: 2vh;
    width: calc(100% - 20px);
    min-height: 360px;
  }
  .wdsbm-waitlist-panel>.wdsbm-eyebrow {
    margin-top: calc(2vh + 28px);
    padding: 0 12px;
  }
  .wdsbm-waitlist-panel>h3,
  .wdsbm-waitlist-panel>p,
  .wdsbm-waitlist-panel>form {
    padding-left: 12px;
    padding-right: 12px;
  }
  .wdsbm-waitlist-close {
    right: 20px;
    left: auto !important;
    top: calc(2vh + 8px);
  }
  .wdsbm-single-workshop-page {
    padding: 20px 12px 40px;
  }
  .wdsbm-single-workshop-cover,
  .wdsbm-single-workshop-cover img {
    min-height: 220px;
  }
  .wdsbm-single-workshop-intro {
    padding: 0;
  }
}
@media(prefers-reduced-motion:reduce) {
  .wdsbm-workshop-image,
  .wdsbm-login-account-button,
  .wdsbm-login-button,
  .wdsbm-book-button,
  .wdsbm-waitlist-button,
  .wdsbm-submit {
    transition: none !important;
  }
}
.wdsbm-public {
  --wds-ink: var(--wdsbm-ink);
  --wds-muted: var(--wdsbm-text-muted);
  --wds-soft: var(--wdsbm-surface-alt);
  --wds-line: rgba(12,12,12,.13);
  --wds-white: #fff;
  max-width: 1480px;
  padding: clamp(52px,6vw,92px) clamp(18px,5vw,72px);
}
.wdsbm-public-head {
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
  gap: clamp(36px,8vw,130px);
  margin-bottom: clamp(38px,5vw,68px);
}
.wdsbm-public-head .wdsbm-eyebrow {
  margin-bottom: -8px;
  color: var(--wdsbm-text-muted);
  font-size: 8px;
  letter-spacing: .25em;
}
.wdsbm-public-head h2 {
  max-width: 720px;
  font-size: clamp(48px,5.8vw,82px) !important;
  font-weight: 450 !important;
  line-height: .88 !important;
  letter-spacing: -.065em;
}
.wdsbm-public-head p {
  max-width: 390px;
  padding-bottom: 5px;
  color: var(--wdsbm-text-muted) !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
}
.wdsbm-workshop-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(18px,2.3vw,34px);
  align-items: stretch;
}
.wdsbm-workshop-card {
  border: 0;
  border-top: 1px solid var(--wds-line);
  background: transparent;
  overflow: visible;
}
.wdsbm-workshop-media {
  display: block;
  position: relative;
  margin-top: 13px;
  overflow: hidden;
  background: var(--wdsbm-border);
  text-decoration: none !important;
}
.wdsbm-workshop-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(0,0,0,.25),transparent 36%);
  opacity: 0;
  transition: opacity .45s ease;
}
.wdsbm-workshop-image {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  height: auto;
  object-fit: cover;
  transition: transform .75s cubic-bezier(.2,.7,.2,1);
}
.wdsbm-media-cue {
  position: absolute;
  z-index: 2;
  right: 14px;
  bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: rgba(255,255,255,.94);
  color: var(--wdsbm-ink);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(7px);
  transition: .35s ease;
}
.wdsbm-media-cue b {
  font-size: 12px;
  font-weight: 400;
}
@media(hover:hover) {
  .wdsbm-workshop-card:hover .wdsbm-workshop-image {
    transform: scale(1.035);
  }
  .wdsbm-workshop-media:hover::after {
    opacity: 1;
  }
  .wdsbm-workshop-media:hover .wdsbm-media-cue {
    opacity: 1;
    transform: none;
  }
}
.wdsbm-workshop-body {
  padding: 18px 1px 4px;
}
.wdsbm-date-pill {
  margin-bottom: 12px;
  color: var(--wdsbm-text-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
}
.wdsbm-date-pill span {
  padding: 0 3px;
  color: var(--wdsbm-border-strong);
}
.wdsbm-workshop-body h3 {
  margin: 0 0 10px !important;
  font-size: clamp(23px,2.05vw,31px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em;
}
.wdsbm-workshop-body h3 a {
  color: var(--wdsbm-ink) !important;
  text-decoration: none !important;
  background-image: linear-gradient(var(--wdsbm-ink),var(--wdsbm-ink));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size .35s ease;
}
.wdsbm-workshop-body h3 a:hover {
  background-size: 100% 1px;
}
.wdsbm-workshop-body>p {
  display: -webkit-box;
  max-width: 92%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--wdsbm-text-muted) !important;
  font-size: 11px !important;
  line-height: 1.65 !important;
}
.wdsbm-card-meta {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 18px;
  padding-top: 13px;
  color: var(--wdsbm-text-muted);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.wdsbm-card-meta span+span::before {
  content: "•";
  margin-right: 16px;
  color: var(--wdsbm-border-strong);
}
.wdsbm-card-meta .is-sold-out {
  color: var(--wdsbm-ink);
}
.wdsbm-card-footer {
  min-height: 62px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 0;
}
.wdsbm-card-footer strong {
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -.035em;
}
.wdsbm-card-footer strong small {
  margin-left: 3px;
  color: var(--wdsbm-text-subtle);
  font-size: 7px;
  letter-spacing: .08em;
}
.wdsbm-book-button,
.wdsbm-waitlist-button,
.wdsbm-login-button {
  min-height: 43px;
  padding: 11px 17px;
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wdsbm-book-button::after,
.wdsbm-waitlist-button::after {
  content: " →";
  margin-left: 5px;
}
.wdsbm-login-required {
  margin-bottom: 42px;
  padding: 19px 0;
}
.wdsbm-login-required strong {
  font-size: 14px;
}
.wdsbm-login-required p {
  font-size: 11px !important;
}
@media(max-width:980px) {
  .wdsbm-public-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .wdsbm-public-head .wdsbm-eyebrow {
    margin-bottom: 0;
  }
  .wdsbm-workshop-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px) {
  .wdsbm-public {
    padding: 38px 14px 46px;
  }
  .wdsbm-public-head {
    margin-bottom: 30px;
  }
  .wdsbm-public-head h2 {
    font-size: 42px !important;
    line-height: .92 !important;
  }
  .wdsbm-public-head p {
    max-width: 330px;
    font-size: 11px !important;
  }
  .wdsbm-workshop-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px 8px;
  }
  .wdsbm-workshop-card {
    border-top-color: rgba(12,12,12,.16);
  }
  .wdsbm-workshop-media {
    margin-top: 8px;
  }
  .wdsbm-workshop-image {
    aspect-ratio: 4/4.6;
  }
  .wdsbm-media-cue {
    display: none;
  }
  .wdsbm-workshop-body {
    padding: 10px 0 3px;
  }
  .wdsbm-date-pill {
    margin-bottom: 7px;
    font-size: 6.5px;
    letter-spacing: .08em;
  }
  .wdsbm-workshop-body h3 {
    margin-bottom: 7px !important;
    font-size: 16px !important;
    line-height: 1.05 !important;
  }
  .wdsbm-workshop-body>p {
    display: none;
  }
  .wdsbm-card-meta {
    display: block;
    margin-top: 9px;
    padding-top: 8px;
    font-size: 6.5px;
    line-height: 1.5;
  }
  .wdsbm-card-meta span {
    display: block;
  }
  .wdsbm-card-meta span+span::before {
    display: none;
  }
  .wdsbm-card-footer {
    min-height: 0;
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    padding-top: 11px;
  }
  .wdsbm-card-footer strong {
    font-size: 15px;
  }
  .wdsbm-book-button,
  .wdsbm-waitlist-button,
  .wdsbm-login-button {
    width: 100%;
    min-height: 36px;
    padding: 8px 6px;
    font-size: 7px;
    letter-spacing: .04em;
  }
}
@media(max-width:370px) {
  .wdsbm-workshop-grid {
    grid-template-columns: 1fr;
  }
  .wdsbm-workshop-image {
    aspect-ratio: 4/3;
  }
  .wdsbm-workshop-body h3 {
    font-size: 20px !important;
  }
}
.wdsbm-public--single>.wdsbm-public-head {
  display: none;
}
.wdsbm-public--single {
  padding-top: clamp(42px,6vw,82px);
}
.wdsbm-public--single .wdsbm-workshop-grid {
  grid-template-columns: 1fr;
  max-width: 1180px;
  margin: 0 auto;
}
.wdsbm-public--single .wdsbm-workshop-card {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr);
  gap: clamp(34px,5vw,78px);
  padding-top: 0;
  border-top: 0;
}
.wdsbm-public--single .wdsbm-workshop-media {
  margin: 0;
  min-height: 560px;
}
.wdsbm-public--single .wdsbm-workshop-image {
  height: 100%;
  min-height: 560px;
  aspect-ratio: auto;
  object-fit: cover;
}
.wdsbm-public--single .wdsbm-workshop-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 0;
}
.wdsbm-public--single .wdsbm-date-pill {
  font-size: 9px;
  margin-bottom: 18px;
}
.wdsbm-public--single .wdsbm-workshop-body h3 {
  font-size: clamp(42px,5vw,72px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  margin-bottom: 24px !important;
}
.wdsbm-public--single .wdsbm-workshop-body>p {
  font-size: 13px !important;
  line-height: 1.75 !important;
  max-width: 500px;
  color: var(--wdsbm-text-muted) !important;
}
.wdsbm-public--single .wdsbm-card-meta {
  margin-top: 28px;
  padding-top: 18px;
  font-size: 9px;
}
.wdsbm-public--single .wdsbm-card-footer {
  margin-top: 8px;
  padding-top: 22px;
  align-items: center;
}
.wdsbm-public--single .wdsbm-card-footer>strong {
  font-size: 26px;
}
.wdsbm-public--single .wdsbm-book-button,
.wdsbm-public--single .wdsbm-waitlist-button {
  min-width: 170px;
  min-height: 50px;
}
.wdsbm-auth-panel {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(10,10,10,.68);
  backdrop-filter: blur(8px);
}
.wdsbm-auth-panel[hidden] {
  display: none !important;
}
.wdsbm-auth-card {
  position: relative;
  width: min(100%,540px);
  padding: clamp(34px,5vw,58px);
  background: var(--wdsbm-surface-alt);
  color: var(--wdsbm-ink);
  box-shadow: 0 24px 90px rgba(0,0,0,.24);
}
.wdsbm-auth-card .wdsbm-eyebrow {
  display: block;
  margin-bottom: 18px;
  font-size: 8px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--wdsbm-text-muted);
}
.wdsbm-auth-card h3 {
  margin: 0 42px 18px 0 !important;
  font-size: clamp(34px,4vw,50px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
}
.wdsbm-auth-card p {
  margin: 0 0 28px !important;
  max-width: 430px;
  color: var(--wdsbm-text-muted) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
.wdsbm-auth-card small {
  display: block;
  margin-top: 18px;
  color: var(--wdsbm-text-muted);
  font-size: 9px;
  line-height: 1.5;
}
.wdsbm-auth-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(17,17,17,.18);
  border-radius: 50%;
  background: transparent;
  color: var(--wdsbm-ink);
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}
.wdsbm-auth-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.wdsbm-auth-primary,
.wdsbm-auth-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
  text-decoration: none !important;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: .25s ease;
}
.wdsbm-auth-primary {
  background: var(--wdsbm-ink);
  color: #fff !important;
  border: 1px solid var(--wdsbm-ink);
}
.wdsbm-auth-primary:hover {
  background: var(--wdsbm-ink-hover);
}
.wdsbm-auth-secondary {
  background: transparent;
  color: var(--wdsbm-ink) !important;
  border: 1px solid rgba(17,17,17,.35);
}
.wdsbm-auth-secondary:hover {
  border-color: var(--wdsbm-ink);
  background: #fff;
}
@media(max-width:760px) {
  .wdsbm-public--single {
    padding: 26px 14px 42px;
  }
  .wdsbm-public--single .wdsbm-workshop-card {
    display: block;
  }
  .wdsbm-public--single .wdsbm-workshop-media,
  .wdsbm-public--single .wdsbm-workshop-image {
    min-height: 0;
  }
  .wdsbm-public--single .wdsbm-workshop-image {
    aspect-ratio: 4/4.6;
  }
  .wdsbm-public--single .wdsbm-workshop-body {
    padding: 22px 0 4px;
  }
  .wdsbm-public--single .wdsbm-workshop-body h3 {
    font-size: 38px !important;
  }
  .wdsbm-public--single .wdsbm-workshop-body>p {
    display: block;
    font-size: 11px !important;
  }
  .wdsbm-auth-panel {
    padding: 12px;
  }
  .wdsbm-auth-card {
    padding: 36px 22px 26px;
  }
  .wdsbm-auth-actions {
    grid-template-columns: 1fr;
  }
  .wdsbm-auth-primary,
  .wdsbm-auth-secondary {
    width: 100%;
  }
}
.wdsbm-public--single .wdsbm-single-cover-button {
  width: 100%;
  padding: 0;
  border: 0;
  appearance: none;
  cursor: zoom-in;
  text-align: left;
}
.wdsbm-public--single .wdsbm-single-cover-button::after {
  display: none;
}
.wdsbm-public--single .wdsbm-single-cover-button .wdsbm-workshop-image {
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.wdsbm-public--single .wdsbm-single-cover-button:hover .wdsbm-workshop-image {
  transform: scale(1.018);
}
.wdsbm-gallery-count {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 9px 12px;
  background: rgba(247,244,238,.92);
  color: var(--wdsbm-ink);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
.wdsbm-single-gallery {
  grid-column: 1/-1;
  margin-top: clamp(18px,3vw,38px);
  padding-top: clamp(24px,3vw,38px);
  border-top: 1px solid rgba(17,17,17,.15);
}
.wdsbm-single-gallery-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}
.wdsbm-single-gallery-head span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--wdsbm-text-muted);
}
.wdsbm-single-gallery-head strong {
  font-size: 9px;
  font-weight: 600;
  color: var(--wdsbm-text-muted);
}
.wdsbm-single-gallery-track {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}
.wdsbm-single-gallery-item {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--wdsbm-border);
  cursor: zoom-in;
}
.wdsbm-single-gallery-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.7,.2,1),opacity .3s ease;
}
.wdsbm-single-gallery-item:hover img {
  transform: scale(1.025);
  opacity: .92;
}
.wdsbm-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000001;
  display: grid;
  place-items: center;
  padding: 24px;
}
.wdsbm-lightbox[hidden] {
  display: none !important;
}
.wdsbm-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,8,8,.92);
  backdrop-filter: blur(8px);
}
.wdsbm-lightbox-dialog {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(1200px,calc(100vw - 48px));
  height: min(820px,calc(100vh - 48px));
}
.wdsbm-lightbox-dialog>img {
  display: block;
  object-fit: contain;
}
.wdsbm-lightbox-close {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(0,0,0,.25);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.wdsbm-lightbox-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 46px;
  height: 46px;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(0,0,0,.25);
  color: #fff;
  font-size: 19px;
  cursor: pointer;
}
.wdsbm-lightbox-nav.is-prev {
  left: 0;
}
.wdsbm-lightbox-nav.is-next {
  right: 0;
}
.wdsbm-lightbox-counter {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}
@media(max-width:760px) {
  .wdsbm-single-gallery {
    margin-top: 24px;
    padding-top: 22px;
  }
  .wdsbm-single-gallery-track {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
    scrollbar-width: none;
  }
  .wdsbm-single-gallery-track::-webkit-scrollbar {
    display: none;
  }
  .wdsbm-single-gallery-item {
    flex: 0 0 76%;
    scroll-snap-align: start;
  }
  .wdsbm-single-gallery-item img {
    aspect-ratio: 4/3;
  }
  .wdsbm-lightbox {
    padding: 12px;
  }
  .wdsbm-lightbox-dialog {
    width: calc(100vw - 24px);
    height: calc(100vh - 24px);
  }
  .wdsbm-lightbox-nav {
    width: 38px;
    height: 38px;
  }
  .wdsbm-lightbox-close {
    width: 38px;
    height: 38px;
  }
}
.wdsbm-booking-panel {
  background: rgba(12,12,12,.76);
  backdrop-filter: blur(9px);
}
.wdsbm-booking-step {
  max-width: 820px;
  padding: 0;
  background: var(--wdsbm-surface-alt);
  box-shadow: 0 30px 100px rgba(0,0,0,.32);
}
.wdsbm-booking-head {
  position: sticky;
  top: -1px;
  z-index: 8;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(17,17,17,.14);
}
.wdsbm-booking-head .wdsbm-eyebrow {
  display: block;
  margin: 0 0 10px;
  font-size: 8px;
  letter-spacing: .19em;
  text-transform: uppercase;
  color: var(--wdsbm-text-muted);
}
.wdsbm-booking-head .wdsbm-selected-title {
  margin: 0 !important;
  font-size: clamp(32px,4vw,48px) !important;
}
.wdsbm-booking-secure {
  flex: 0 0 auto;
  padding-bottom: 5px;
  color: var(--wdsbm-text-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.wdsbm-booking-section {
  border-bottom: 1px solid rgba(17,17,17,.12);
}
.wdsbm-section-copy {
  display: flex;
  align-items: flex-start;
}
.wdsbm-section-number {
  color: var(--wdsbm-text-subtle);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
}
.wdsbm-section-copy h4 {
  margin: 0 0 4px !important;
  color: var(--wdsbm-ink) !important;
  font-weight: 600 !important;
  letter-spacing: -.025em;
}
.wdsbm-section-copy p {
  margin: 0 !important;
  color: var(--wdsbm-text-muted) !important;
  line-height: 1.55 !important;
}
.wdsbm-seat-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.wdsbm-seat-section .wdsbm-section-copy {
  margin: 0;
}
.wdsbm-seat-stepper {
  display: grid;
  align-items: center;
}
.wdsbm-seat-stepper button {
  cursor: pointer;
}
.wdsbm-seat-stepper input[type=number] {
  margin: 0 !important;
  padding: 0 !important;
  border-left: 1px solid rgba(17,17,17,.13) !important;
  border-right: 1px solid rgba(17,17,17,.13) !important;
  text-align: center;
  font-weight: 700;
  -moz-appearance: textfield;
}
.wdsbm-seat-stepper input::-webkit-outer-spin-button,
.wdsbm-seat-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wdsbm-participant-fields {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.wdsbm-participant-field {
  display: block !important;
  margin: 0 !important;
}
.wdsbm-participant-field span {
  display: block;
  color: var(--wdsbm-text-muted);
  font-size: 9px;
  font-weight: 700;
}
.wdsbm-participant-field input {
  margin: 0 !important;
}
.wdsbm-participant-field:first-child input {
  background: var(--wdsbm-border) !important;
  color: var(--wdsbm-text-muted);
}
.wdsbm-participant-storage {
  display: none !important;
}
.wdsbm-account-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid rgba(17,17,17,.16);
}
.wdsbm-account-card div {
  display: grid;
}
.wdsbm-account-card span {
  color: var(--wdsbm-text-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.wdsbm-account-card small {
  color: var(--wdsbm-text-muted);
  font-size: 10px;
}
.wdsbm-account-check {
  display: grid !important;
  place-items: center;
  border: 1px solid var(--wdsbm-ink);
  border-radius: 50%;
  color: var(--wdsbm-ink) !important;
}
.wdsbm-phone-field {
  margin: 14px 0 0 !important;
}
.wdsbm-coupon-details {
  border-bottom: 1px solid rgba(17,17,17,.12);
}
.wdsbm-coupon-details summary {
  cursor: pointer;
  list-style: none;
  color: var(--wdsbm-ink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
}
.wdsbm-coupon-details summary::-webkit-details-marker {
  display: none;
}
.wdsbm-coupon-details summary::after {
  content: '+';
  font-size: 16px;
  font-weight: 400;
}
.wdsbm-coupon-details[open] summary::after {
  content: '−';
}
.wdsbm-coupon-field {
  margin: 15px 0 0 !important;
}
.wdsbm-coupon-row input {
  margin-top: 0 !important;
}
.wdsbm-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: var(--wdsbm-text-muted);
}
.wdsbm-quote {
  margin: 0;
  padding: 17px 0 0;
  border-top: 1px solid rgba(17,17,17,.13);
  border-bottom: 0;
}
.wdsbm-check {
  display: flex !important;
  align-items: flex-start;
  color: var(--wdsbm-text-muted) !important;
}
.wdsbm-check input {
  margin-top: 2px;
}
.wdsbm-submit-premium {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 54px;
  padding: 14px 18px !important;
  background: var(--wdsbm-ink) !important;
  color: #fff !important;
  border: 1px solid var(--wdsbm-ink) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}
.wdsbm-submit-premium:hover {
  background: var(--wdsbm-ink-hover) !important;
}
.wdsbm-submit-premium b {
  font-size: 17px;
  font-weight: 400;
}
.wdsbm-submit-note {
  margin: 9px 0 0 !important;
  text-align: center;
  color: var(--wdsbm-text-subtle) !important;
  font-size: 8px !important;
}
.wdsbm-success {
  max-width: 720px;
  padding: 48px 48px 42px;
  background: var(--wdsbm-surface-alt);
  text-align: left;
}
.wdsbm-success-kicker {
  display: block;
  margin-bottom: 18px;
  color: var(--wdsbm-text-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.wdsbm-success-icon {
  float: right;
  width: 48px;
  height: 48px;
  margin-top: -37px;
  font-size: 23px;
}
.wdsbm-success h3 {
  margin: 0 70px 12px 0 !important;
  font-size: clamp(34px,4vw,48px) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
}
.wdsbm-success-lead {
  max-width: 520px;
  margin: 0 0 28px !important;
  color: var(--wdsbm-text-muted) !important;
  font-size: 11px !important;
  line-height: 1.65 !important;
}
.wdsbm-success-details {
  display: grid;
  grid-template-columns: 1.4fr .6fr .7fr .9fr;
  border-top: 1px solid rgba(17,17,17,.14);
  border-bottom: 1px solid rgba(17,17,17,.14);
}
.wdsbm-success-details>div {
  display: grid;
  gap: 5px;
  padding: 16px 12px 16px 0;
}
.wdsbm-success-details span,
.wdsbm-success-reference-row span {
  color: var(--wdsbm-text-muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wdsbm-success-details strong {
  font-size: 11px;
}
.wdsbm-success-reference-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
}
.wdsbm-success-reference-row strong {
  font-size: 15px;
  letter-spacing: .04em;
}
.wdsbm-payment-message {
  margin: 0 0 22px !important;
  padding: 13px 15px;
  background: var(--wdsbm-border);
  color: var(--wdsbm-text-muted) !important;
  font-size: 9px !important;
  line-height: 1.55 !important;
}
.wdsbm-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wdsbm-success-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  text-decoration: none !important;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.wdsbm-payment-button,
.wdsbm-success-primary {
  background: var(--wdsbm-ink);
  color: #fff !important;
  border: 1px solid var(--wdsbm-ink);
}
.wdsbm-success-secondary {
  border: 1px solid rgba(17,17,17,.3);
  color: var(--wdsbm-ink) !important;
}
.wdsbm-panel-close {
  z-index: 4;
}
@media(max-width:640px) {
  .wdsbm-booking-secure {
    margin-top: 12px;
  }
  .wdsbm-success {
    padding: 38px 22px 28px;
  }
  .wdsbm-success-details {
    grid-template-columns: 1fr 1fr;
  }
  .wdsbm-success-details>div {
    border-bottom: 1px solid rgba(17,17,17,.08);
  }
  .wdsbm-success-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .wdsbm-success-actions a {
    width: 100%;
  }
}
.wdsbm-booking-step {
  width: min(860px,100%);
  overflow: clip;
}
.wdsbm-booking-head {
  align-items: center;
  padding: 34px 42px 27px;
  background: rgba(246,243,237,.97);
  backdrop-filter: blur(12px);
}
.wdsbm-booking-head>div:first-child {
  min-width: 0;
  flex: 1;
}
.wdsbm-booking-head .wdsbm-selected-title {
  max-width: 620px !important;
  font-size: clamp(30px,4vw,44px) !important;
  line-height: .98 !important;
}
.wdsbm-booking-head-actions {
  align-self: center;
}
.wdsbm-booking-secure {
  padding: 0;
  white-space: nowrap;
}
.wdsbm-panel-close {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  font-size: 22px;
  background: rgba(255,255,255,.38);
}
.wdsbm-booking-form {
  padding: 0 42px 34px;
}
.wdsbm-booking-section {
  padding: 24px 0;
}
.wdsbm-section-copy {
  gap: 14px;
  margin-bottom: 16px;
}
.wdsbm-section-number {
  min-width: 9px;
  padding-top: 4px;
}
.wdsbm-section-copy h4 {
  font-size: 17px !important;
}
.wdsbm-section-copy p {
  font-size: 10px !important;
}
.wdsbm-seat-section {
  min-height: 94px;
}
.wdsbm-seat-stepper {
  grid-template-columns: 44px 58px 44px;
  padding: 4px;
  border: 1px solid rgba(17,17,17,.18);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(17,17,17,.03);
}
.wdsbm-seat-stepper button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 40px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--wdsbm-ink) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background .18s ease,color .18s ease,transform .18s ease;
}
.wdsbm-seat-stepper button:hover {
  background: var(--wdsbm-ink) !important;
  color: #fff !important;
}
.wdsbm-seat-stepper button:active {
  transform: scale(.94);
}
.wdsbm-seat-stepper button:focus-visible {
  outline: 2px solid var(--wdsbm-ink);
  outline-offset: 2px;
}
.wdsbm-seat-stepper input[type=number] {
  width: 58px !important;
  height: 40px !important;
  min-height: 40px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 15px !important;
}
.wdsbm-participant-fields {
  gap: 12px;
}
.wdsbm-participant-field span {
  margin-bottom: 7px;
}
.wdsbm-booking-form input[type=text],
.wdsbm-booking-form input[type=email],
.wdsbm-booking-form input[type=tel],
.wdsbm-booking-form input[type=number],
.wdsbm-booking-form textarea {
  min-height: 46px;
  padding: 12px 13px;
  border-color: rgba(17,17,17,.2);
  border-radius: 7px;
  background: #fff;
  transition: border-color .18s ease,box-shadow .18s ease;
}
.wdsbm-booking-form textarea {
  min-height: 74px;
  resize: vertical;
}
.wdsbm-account-card {
  padding: 14px 16px;
  border-color: rgba(17,17,17,.14);
  border-radius: 7px;
  background: var(--wdsbm-border);
}
.wdsbm-account-card div {
  gap: 1px;
}
.wdsbm-account-card strong {
  font-size: 13px;
}
.wdsbm-account-check {
  width: 28px;
  height: 28px;
  font-size: 12px !important;
}
.wdsbm-phone-field {
  max-width: 52%;
  margin-top: 13px !important;
}
.wdsbm-form-grid {
  gap: 12px;
}
.wdsbm-form-grid label {
  margin-top: 8px;
  margin-bottom: 0;
}
.wdsbm-form-grid textarea {
  margin-top: 7px !important;
}
.wdsbm-coupon-details {
  padding: 17px 0;
}
.wdsbm-coupon-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
}
.wdsbm-coupon-details summary::after {
  float: none;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(17,17,17,.14);
  border-radius: 50%;
  line-height: 1;
}
.wdsbm-coupon-row {
  gap: 10px;
}
.wdsbm-apply-coupon {
  min-height: 46px;
  border-radius: 7px;
  padding: 9px 18px;
}
.wdsbm-booking-summary {
  padding: 19px 0 16px;
}
.wdsbm-summary-line {
  margin-bottom: 13px;
  font-size: 10px;
}
.wdsbm-quote {
  padding-top: 15px;
}
.wdsbm-quote span {
  font-size: 9px;
}
.wdsbm-quote strong {
  font-size: 30px;
  letter-spacing: -.03em;
}
.wdsbm-consents {
  display: grid;
  gap: 8px;
  padding: 3px 0 18px;
}
.wdsbm-check {
  position: relative;
  gap: 10px;
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  cursor: pointer;
}
.wdsbm-check input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0 !important;
  border: 1px solid rgba(17,17,17,.38);
  border-radius: 2px;
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.wdsbm-check input[type=checkbox]::after {
  content: '✓';
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  transform: scale(0);
  transition: transform .12s ease;
}
.wdsbm-check input[type=checkbox]:checked {
  border-color: var(--wdsbm-ink);
  background: var(--wdsbm-ink);
}
.wdsbm-check input[type=checkbox]:checked::after {
  transform: scale(1);
}
.wdsbm-check input[type=checkbox]:focus-visible {
  outline: 2px solid var(--wdsbm-ink);
  outline-offset: 2px;
}
.wdsbm-booking-form .wdsbm-submit.wdsbm-submit-premium {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border-radius: 7px !important;
  background: var(--wdsbm-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
  text-align: left !important;
}
.wdsbm-booking-form .wdsbm-submit.wdsbm-submit-premium:hover {
  background: var(--wdsbm-ink-hover) !important;
  color: #fff !important;
  transform: none !important;
}
.wdsbm-submit-premium b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
}
.wdsbm-submit-note {
  margin-top: 10px !important;
  line-height: 1.45 !important;
}
@media(max-width:640px) {
  .wdsbm-booking-step {
    box-shadow: none;
  }
  .wdsbm-booking-head-actions {
    gap: 8px;
  }
  .wdsbm-booking-head .wdsbm-selected-title {
    font-size: clamp(28px,9vw,38px) !important;
  }
  .wdsbm-seat-section {
    flex-direction: row;
    align-items: center;
  }
  .wdsbm-seat-section .wdsbm-section-copy {
    margin: 0;
  }
  .wdsbm-seat-stepper {
    flex: 0 0 auto;
  }
}
@media(max-width:420px) {
  .wdsbm-seat-section {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
  .wdsbm-seat-stepper {
    width: 100%;
    grid-template-columns: 44px 1fr 44px;
  }
  .wdsbm-seat-stepper input[type=number] {
    width: 100% !important;
  }
}
@media(max-width:640px) {
  .wdsbm-booking-panel {
    padding: 0 !important;
    background: var(--wdsbm-text);
  }
  .wdsbm-booking-step {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    overflow: visible !important;
    background: var(--wdsbm-surface-alt) !important;
  }
  .wdsbm-booking-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 40px !important;
    align-items: start !important;
    gap: 14px !important;
    padding: 22px 16px 18px !important;
    border-bottom: 1px solid rgba(17,17,17,.12) !important;
    background: rgba(246,243,237,.98) !important;
  }
  .wdsbm-booking-head>div:first-child {
    min-width: 0 !important;
  }
  .wdsbm-booking-head .wdsbm-eyebrow {
    margin: 0 0 10px !important;
    font-size: 7px !important;
    letter-spacing: .2em !important;
  }
  .wdsbm-booking-head .wdsbm-selected-title {
    max-width: none !important;
    margin: 0 !important;
    font-size: clamp(28px,8.4vw,36px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .wdsbm-booking-head-actions {
    display: block !important;
    align-self: start !important;
  }
  .wdsbm-booking-secure {
    display: none !important;
  }
  .wdsbm-panel-close {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    flex-basis: 38px !important;
    margin: 5px 0 0 !important;
    font-size: 21px !important;
    border-width: 1px !important;
    background: transparent !important;
  }
  .wdsbm-booking-form {
    padding: 0 16px 28px !important;
  }
  .wdsbm-booking-section {
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(17,17,17,.11) !important;
  }
  .wdsbm-section-copy {
    display: grid !important;
    grid-template-columns: 16px minmax(0,1fr) !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
  }
  .wdsbm-section-number {
    min-width: 0 !important;
    padding-top: 3px !important;
    font-size: 6px !important;
    letter-spacing: .12em !important;
  }
  .wdsbm-section-copy h4 {
    margin: 0 0 5px !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  .wdsbm-section-copy p {
    max-width: 270px !important;
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.5 !important;
  }
  .wdsbm-seat-section {
    display: block !important;
    min-height: 0 !important;
  }
  .wdsbm-seat-section .wdsbm-section-copy {
    margin-bottom: 14px !important;
  }
  .wdsbm-seat-stepper {
    display: grid !important;
    grid-template-columns: 42px 56px 42px !important;
    width: 140px !important;
    margin-left: 23px !important;
    padding: 3px !important;
    border-radius: 999px !important;
  }
  .wdsbm-seat-stepper button {
    width: 42px !important;
    height: 38px !important;
    font-size: 18px !important;
  }
  .wdsbm-seat-stepper input[type=number] {
    width: 56px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 14px !important;
  }
  .wdsbm-participant-fields {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .wdsbm-participant-field span {
    font-size: 9px !important;
  }
  .wdsbm-booking-form input[type=text],
  .wdsbm-booking-form input[type=email],
  .wdsbm-booking-form input[type=tel],
  .wdsbm-booking-form input[type=number],
  .wdsbm-booking-form textarea {
    min-height: 44px !important;
    padding: 11px 12px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
  }
  .wdsbm-account-card {
    min-height: 0 !important;
    padding: 12px 13px !important;
    border-radius: 7px !important;
  }
  .wdsbm-account-card span {
    font-size: 6px !important;
  }
  .wdsbm-account-card strong {
    font-size: 12px !important;
  }
  .wdsbm-account-card small {
    font-size: 8px !important;
  }
  .wdsbm-account-check {
    width: 25px !important;
    height: 25px !important;
    font-size: 11px !important;
  }
  .wdsbm-phone-field {
    max-width: none !important;
    margin: 11px 0 0 !important;
    font-size: 9px !important;
  }
  .wdsbm-form-grid {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }
  .wdsbm-form-grid label {
    margin: 0 !important;
    font-size: 9px !important;
  }
  .wdsbm-booking-form textarea {
    min-height: 58px !important;
    max-height: 100px !important;
  }
  .wdsbm-coupon-details {
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(17,17,17,.11) !important;
  }
  .wdsbm-coupon-details summary {
    min-height: 28px !important;
    font-size: 9px !important;
  }
  .wdsbm-coupon-details summary::after {
    width: 25px !important;
    height: 25px !important;
  }
  .wdsbm-coupon-row {
    grid-template-columns: minmax(0,1fr) auto !important;
    margin-top: 10px !important;
  }
  .wdsbm-apply-coupon {
    min-height: 44px !important;
    padding: 8px 14px !important;
    font-size: 9px !important;
  }
  .wdsbm-booking-summary {
    padding: 14px 0 12px !important;
  }
  .wdsbm-summary-line {
    margin: 0 0 11px !important;
    font-size: 8px !important;
  }
  .wdsbm-quote {
    padding: 13px 0 0 !important;
  }
  .wdsbm-quote span {
    font-size: 8px !important;
  }
  .wdsbm-quote strong {
    font-size: 25px !important;
    line-height: 1 !important;
  }
  .wdsbm-consents {
    gap: 8px !important;
    padding: 3px 0 16px !important;
  }
  .wdsbm-check {
    gap: 9px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
  }
  .wdsbm-check input[type=checkbox] {
    flex-basis: 15px !important;
    width: 15px !important;
    height: 15px !important;
  }
  .wdsbm-booking-form .wdsbm-submit.wdsbm-submit-premium {
    width: 100% !important;
    min-height: 52px !important;
    padding: 12px 14px !important;
    border-radius: 7px !important;
    font-size: 9px !important;
    letter-spacing: .07em !important;
  }
  .wdsbm-submit-premium b {
    width: 25px !important;
    height: 25px !important;
    font-size: 15px !important;
  }
  .wdsbm-submit-note {
    max-width: 270px !important;
    margin: 9px auto 0 !important;
    font-size: 7px !important;
    line-height: 1.45 !important;
  }
}
@media(max-width:360px) {
  .wdsbm-booking-head {
    grid-template-columns: minmax(0,1fr) 38px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
  }
  .wdsbm-booking-form {
    padding-left: 13px !important;
    padding-right: 13px !important;
  }
  .wdsbm-booking-head .wdsbm-selected-title {
    font-size: 28px !important;
  }
}
.wdsbm-single-workshop-page {
  min-height: 0;
  padding: clamp(12px,2.5vw,30px) clamp(12px,3vw,34px) clamp(22px,4vw,48px);
}
.wdsbm-single-workshop-page .wdsbm-public--single {
  max-width: 1140px;
  padding: 0;
  margin: 0 auto;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-grid {
  max-width: none;
  width: 100%;
  margin: 0;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(18px,3vw,42px);
  align-items: center;
  width: 100%;
  min-width: 0;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {
  min-height: 0;
  height: auto;
  aspect-ratio: 4/4.2;
  align-self: stretch;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-image {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {
  min-width: 0;
  align-self: center;
  justify-content: center;
  padding: clamp(6px,2vw,22px) 0;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {
  font-size: clamp(32px,4vw,58px) !important;
  line-height: 1.04 !important;
  margin: 0 0 14px !important;
  overflow-wrap: anywhere;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-date-pill {
  margin: 0 0 10px;
}
.wdsbm-single-workshop-page .wdsbm-single-description {
  max-width: 100%;
  color: var(--wdsbm-text-muted);
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.wdsbm-single-workshop-page .wdsbm-single-description :is(p,ul,ol,blockquote) {
  margin: 0 0 .8em !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.wdsbm-single-workshop-page .wdsbm-single-description :last-child {
  margin-bottom: 0 !important;
}
.wdsbm-single-workshop-page .wdsbm-single-description :is(ul,ol) {
  padding-left: 1.3em;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-meta {
  margin-top: 16px;
  padding-top: 13px;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer {
  margin-top: 8px;
  padding-top: 14px;
  gap: 12px;
  flex-wrap: wrap;
}
.wdsbm-single-workshop-page .wdsbm-single-gallery {
  margin-top: clamp(12px,2vw,22px);
  padding-top: clamp(14px,2vw,22px);
}
.wdsbm-single-workshop-page .wdsbm-single-gallery-track {
  gap: 10px;
}
.wdsbm-single-workshop-page .wdsbm-single-gallery[hidden] {
  display: none !important;
}
@media(max-width:820px) {
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {
    aspect-ratio: 5/4;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {
    padding: 6px 0;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {
    font-size: clamp(30px,7vw,46px) !important;
  }
}
@media(max-width:540px) {
  .wdsbm-single-workshop-page {
    padding: 12px 12px 28px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single {
    padding: 0;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {
    aspect-ratio: 4/4.2;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer {
    align-items: stretch;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-book-button {
    width: 100%;
  }
  .wdsbm-single-workshop-page .wdsbm-single-gallery-track {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    overflow: visible;
  }
  .wdsbm-single-workshop-page .wdsbm-single-gallery-item {
    min-width: 0;
    width: 100%;
  }
}
.wdsbm-workshop-card {
  position: relative;
}
.wdsbm-ws-ribbon {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 5;
  pointer-events: none;
  padding: 8px 12px;
  max-width: min(75%,240px);
  font: 700 10px/1.25 inherit;
  letter-spacing: .09em;
  text-transform: uppercase;
  border-radius: 2px;
  background: var(--wdsbm-ink);
  color: #fff;
  overflow-wrap: anywhere;
}
.wdsbm-ws-ribbon--right {
  left: auto;
  right: 18px;
}
.wdsbm-ws-ribbon--gold {
  background: var(--wdsbm-ev-private);
  color: var(--wdsbm-ink);
}
.wdsbm-ws-ribbon--red {
  background: var(--wdsbm-danger);
  color: #fff;
}
.wdsbm-ws-ribbon--green {
  background: var(--wdsbm-success);
  color: #fff;
}
.wdsbm-ws-ribbon--neutral {
  background: var(--wdsbm-accent-soft);
  color: var(--wdsbm-ink);
}
.wdsbm-lightbox-nav[hidden] {
  display: none !important;
}
.wdsbm-lightbox-dialog>img {
  max-width: calc(100% - 80px);
  max-height: calc(100% - 70px);
}
@media(max-width:760px) {
  .wdsbm-ws-ribbon {
    top: 12px;
    left: 12px;
    padding: 6px 9px;
    font-size: 8px;
  }
  .wdsbm-ws-ribbon--right {
    left: auto;
    right: 12px;
  }
  .wdsbm-lightbox-dialog>img {
    max-width: 100%;
    max-height: calc(100% - 70px);
  }
  .wdsbm-lightbox-nav {
    background: rgba(0,0,0,.65);
  }
}

/* ==========================================================================
 * dev.307 — container-aware layout
 * The listing previously sized its heading/grid from the viewport, so inside a narrow theme content
 * column the 82px heading overflowed into the intro text and cards were squeezed. Sizes now follow
 * the component's own width (container queries), and the section carries the alignwide class for block themes.
 * ========================================================================== */
.wdsbm-public { container: wdsbm-public / inline-size; }
.is-layout-constrained > .wdsbm-public.alignwide { max-width: min(1480px, 100%); }
.wdsbm-public-head > * { min-width: 0; }
.wdsbm-public-head h2 { font-size: clamp(36px, 7cqi, 76px) !important; overflow-wrap: break-word; }
.wdsbm-public-head p { font-size: var(--wdsbm-fs-sm) !important; }
.wdsbm-public-head .wdsbm-eyebrow { font-size: var(--wdsbm-fs-2xs); font-weight: var(--wdsbm-fw-semibold); letter-spacing: var(--wdsbm-tracking-caps); }
@container wdsbm-public (max-width: 900px) {
  .wdsbm-public-head { grid-template-columns: 1fr; gap: var(--wdsbm-space-4); }
  .wdsbm-public-head .wdsbm-eyebrow { margin-bottom: 0; }
  .wdsbm-workshop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container wdsbm-public (max-width: 360px) {
  .wdsbm-workshop-grid { grid-template-columns: 1fr; }
}
.wdsbm-public :is(a, button, input, select, textarea):focus-visible { outline: none !important; box-shadow: var(--wdsbm-focus-ring) !important; }
@media (prefers-reduced-motion: reduce) {
  .wdsbm-public *, .wdsbm-public *::before, .wdsbm-public *::after { transition: none !important; animation: none !important; }
}


/* dev.320 — responsive public catalogue, independent of viewport/editor width */
.wdsbm-public:not(.wdsbm-public--single) {
  width: 100%; max-width: 1440px; margin: 0 auto;
  padding: clamp(14px,2.4vw,32px) clamp(12px,2.4vw,34px) 28px;
  container: wdsbm-catalogue / inline-size;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head {
  display: grid; grid-template-columns: minmax(0,1fr);
  gap: 10px; margin-bottom: clamp(20px,3vw,36px);
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head h2 {
  font-size: clamp(30px,4.6cqi,58px) !important;
  line-height: 1.1; letter-spacing: -.035em;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head p {
  max-width: 64ch; font-size: clamp(14px,1.4cqi,17px) !important;
  line-height: 1.55; color: var(--wdsbm-text-muted);
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(18px,2.2vw,28px); width: 100%;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-card {
  width: 100%; min-width: 0; height: 100%; overflow: hidden;
  border: 1px solid #e8e3dc; border-radius: 14px;
  background: #fff; box-shadow: 0 8px 30px rgba(17,17,17,.045);
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-media { display: block; overflow: hidden; }
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-image {
  width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {
  padding: clamp(16px,2cqi,24px); gap: 8px; min-width: 0;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 {
  font-size: clamp(21px,2.25cqi,29px) !important; line-height: 1.16; margin: 0;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-date-pill {
  margin: 0 0 4px; font-size: 12px; letter-spacing: .025em; line-height: 1.55;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-meta { margin-top: 4px; padding-top: 10px; }
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer {
  width: 100%; margin-top: auto; padding-top: 16px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer strong {
  font-size: 21px; line-height: 1.2;
}
.wdsbm-public:not(.wdsbm-public--single) :is(.wdsbm-book-button,.wdsbm-waitlist-button) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 12px 18px; border-radius: 8px;
  font-size: 13px; letter-spacing: .015em; line-height: 1.25;
}
@container wdsbm-catalogue (max-width: 990px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@container wdsbm-catalogue (max-width: 700px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
    grid-template-columns: minmax(0,1fr) !important; gap: 16px;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body { padding: 16px; }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 { font-size: 25px !important; }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer {
    flex-direction: column; align-items: stretch; gap: 12px;
  }
  .wdsbm-public:not(.wdsbm-public--single) :is(.wdsbm-book-button,.wdsbm-waitlist-button) {
    width: 100%; min-height: 48px;
  }
}
@media(max-width:600px) {
  .wdsbm-public:not(.wdsbm-public--single) { padding: 12px 8px 20px; }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head { gap: 9px; margin-bottom: 18px; }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head h2 { font-size: 32px !important; }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head p { font-size: 14px !important; }
}


/* dev.321 — luxury public workshop catalogue; compatible with existing booking actions */
.wdsbm-public:not(.wdsbm-public--single) {
  --wdsbm-lux-ink:#141414;
  max-width: 1320px;
  padding: clamp(24px,4vw,58px) clamp(18px,3.4vw,52px) clamp(24px,3vw,46px);
  color:var(--wdsbm-lux-ink);
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head {
  display:flex; flex-direction:column; align-items:flex-start;
  gap: 0; margin:0 0 clamp(24px,3vw,38px);
  text-align:left;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head .wdsbm-eyebrow {
  margin:0 0 12px; font-size:11px; font-weight:650; letter-spacing:.2em; color:#726a61;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head h2 {
  max-width:none; margin:0 0 12px; font-size:clamp(38px,4.8vw,66px)!important;
  line-height:1.04!important; letter-spacing:-.048em; font-weight:650!important;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head p {
  max-width:65ch; margin:0; padding:0; font-size:clamp(15px,1.4vw,18px)!important;
  line-height:1.55!important; color:#6e6863!important;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-card {
  border:1px solid #e7e1d9; border-radius:16px; background:#fff;
  box-shadow:0 14px 40px rgba(17,17,17,.055); overflow:hidden;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-media {margin:0; border-radius:0; }
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-image {width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {padding:clamp(20px,2.8vw,38px);}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 {
  font-size:clamp(26px,3vw,42px)!important; font-weight:650; letter-spacing:-.035em;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body > p {
  color:#6e6863; font-size:15px; line-height:1.65;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-date-pill {
  font-size:13px; font-weight:600; color:#6c6259; letter-spacing:.025em;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin-top:auto; padding-top:20px; border-top:1px solid #ebe6e0;
}
.wdsbm-public:not(.wdsbm-public--single) :is(.wdsbm-book-button,.wdsbm-waitlist-button) {
  font-size:14px; font-weight:650; min-height:52px; padding:14px 22px; border-radius:6px;
}
/* When there's one workshop, make it an editorial feature, not a tiny 1/3-width tile. */
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-grid {
  display:grid; grid-template-columns:minmax(0,1fr)!important; width:100%;
}
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-card {
  display:grid; grid-template-columns:minmax(0,47%) minmax(0,53%);
  min-height:410px; height:auto; align-items:stretch;
}
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-media {height:100%;min-height:410px;}
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-image {
  width:100%;height:100%;min-height:410px;aspect-ratio:auto;object-fit:cover;
}
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-body {
  display:flex; flex-direction:column; justify-content:center; gap:12px; min-width:0;
}
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-body h3 {
  font-size:clamp(32px,3.4vw,52px)!important; line-height:1.08;
}
@media(max-width:767px){
  .wdsbm-public:not(.wdsbm-public--single){padding:20px 14px 26px;width:100%;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head {margin-bottom:22px;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head h2 {font-size:clamp(34px,8vw,43px)!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head p {font-size:15px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {grid-template-columns:minmax(0,1fr)!important;}
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-card {display:flex;flex-direction:column;min-height:0;}
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-media {height:auto;min-height:0;}
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-image {height:auto;min-height:0;aspect-ratio:4/3;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {padding:22px 20px;}
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-body h3 {font-size:32px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer {align-items:stretch;flex-direction:column;}
  .wdsbm-public:not(.wdsbm-public--single) :is(.wdsbm-book-button,.wdsbm-waitlist-button){width:100%;min-height:52px;}
}
@media(min-width:768px) and (max-width:1000px){
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-card{grid-template-columns:44% 56%;min-height:350px;}
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-media,
  .wdsbm-public.wdsbm-public--featured .wdsbm-workshop-image{min-height:350px;}
}

/* dev.322 — complete copy and workshop-specific inquiry actions */
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-description{font-size:15px;line-height:1.7;color:#55514d;max-height:none;overflow:visible;display:block;overflow-wrap:anywhere}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-description p{margin:0 0 10px;line-height:1.7;font-size:inherit}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-description p:last-child{margin-bottom:0}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:10px 15px;border:1px solid #ded7cf;border-radius:6px;text-decoration:none!important;font-size:13px;font-weight:650;line-height:1.25;transition:background .2s,color .2s,border-color .2s}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-view{color:#151515!important;background:#fff}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-view:hover{background:#f4f0e9}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-whatsapp{color:#175c3b!important;background:#f3faf5;border-color:#b7d9c4!important}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-whatsapp:hover{background:#e1f3e7}
.wdsbm-public.wdsbm-public--featured .wdsbm-workshop-body{justify-content:flex-start}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer{margin-top:auto}
@media(max-width:767px){.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions{flex-direction:column}.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions a{width:100%;min-height:48px}}


/* dev.323 — transparent catalogue canvas, white editorial cards, compact summaries */
.wdsbm-public:not(.wdsbm-public--single) {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding-top: clamp(14px,2vw,26px);
  padding-bottom: clamp(16px,2vw,26px);
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head { background: transparent !important; }
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-card {
  background:#fff !important; border:1px solid #e8e1d9;
  box-shadow:0 14px 38px rgba(0,0,0,.045); border-radius:14px;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-cuisine {
  width:fit-content; max-width:100%; margin:1px 0 4px;
  font-size:11px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:#72604e;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details {margin:8px 0 10px; min-width:0;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details > summary {
  display:flex;flex-direction:column; gap:9px;cursor:pointer;list-style:none;
  color:#55514d; font-size:14px; line-height:1.6;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details > summary::-webkit-details-marker {display:none;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-description-expand-label {
  color:#111; font-size:12px; font-weight:700; letter-spacing:.01em;
  text-decoration:underline; text-underline-offset:4px;
}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-preview {display:none;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-expand-label {order:2;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-expand-label {font-size:0;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-expand-label::before {content:'Show Less';font-size:12px;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details .wdsbm-catalogue-description {padding-top:14px;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details > summary:focus-visible {outline:2px solid #111; outline-offset:3px;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions {margin:12px 0 14px;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {gap:8px;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 {line-height:1.17;}
@media(min-width:768px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid:not(:has(.wdsbm-workshop-card:nth-child(3))) {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions {display:grid;grid-template-columns:1fr;gap:9px;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {padding:20px 18px;}
}

/* dev.324: WDS public workshop page canvas — Kadence outer white panel */
body.page:has(.wdsbm-public:not(.wdsbm-public--single)) .entry-content-wrap,
body.page:has(.wdsbm-public:not(.wdsbm-public--single)) .entry-content,
body.page:has(.wdsbm-public:not(.wdsbm-public--single)) article.entry {
  background: transparent !important;
  box-shadow: none !important;
}
body.page:has(.wdsbm-public:not(.wdsbm-public--single)) .entry-content-wrap {
  padding-top: 10px !important; padding-bottom: 12px !important;
}


/* dev.325 — compact two-up phone workshop catalogue; center odd final card */
@media (min-width: 360px) and (max-width: 767px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid > .wdsbm-workshop-card {
    min-width: 0; width: 100%; max-width: none;
    display: flex; flex-direction: column;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid > .wdsbm-workshop-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc((100% - 12px) / 2);
    justify-self: center;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body { padding: 12px 10px !important; }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 {
    font-size: clamp(16px, 4vw, 21px) !important;
    overflow-wrap: anywhere;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions {
    grid-template-columns: minmax(0, 1fr) !important; gap: 8px;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions a {
    white-space: normal; overflow-wrap: anywhere; text-align: center;
    font-size: 12px; padding-inline: 6px;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-card img {max-width:100%;}
}
@media (max-width: 359px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* dev.326 — compact mobile discovery, booking priority, expandable details */
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-mobile-detail-links {display:none;}
.wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-expand-label::before {content:'Show Less';}
@media (max-width:767px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head {margin-bottom:14px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head h2 {font-size:clamp(26px,7vw,36px)!important;line-height:1.06!important;margin-bottom:5px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head p {font-size:13px!important;line-height:1.45!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {display:flex;flex-direction:column;gap:6px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:clamp(14px,3.75vw,18px)!important;line-height:1.18!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details {margin:2px 0 6px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details > summary {gap:0;font-size:12px;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-description-preview {display:none!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-description-expand-label {font-size:12px!important;line-height:1.5;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-expand-label {font-size:0!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-details[open] .wdsbm-description-expand-label::before {font-size:12px;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-description {font-size:12px!important;line-height:1.55!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-description p {font-size:inherit!important;line-height:inherit!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-catalogue-actions {display:none!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-mobile-detail-links {display:grid;gap:8px;margin-top:10px;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-mobile-detail-links a {display:block;padding:9px 6px;border:1px solid #ded7cf;border-radius:6px;color:#111!important;text-align:center;text-decoration:none;font-size:11px;font-weight:650;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-meta {margin-top:0;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer {order:10;gap:8px!important;margin-top:auto!important;padding-top:10px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-card-footer strong {font-size:17px!important;}
  .wdsbm-public:not(.wdsbm-public--single) :is(.wdsbm-book-button,.wdsbm-waitlist-button) {width:100%!important;min-height:42px!important;padding:10px 6px!important;font-size:11px!important;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-image {aspect-ratio:4/3;}
}
@media (min-width:768px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-description-preview {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
}

/* dev.327: Premium compact catalogue and accessible details dialog */
.wdsbm-public .wdsbm-workshop-grid{align-items:stretch}
.wdsbm-public .wdsbm-workshop-card{height:100%;display:flex;flex-direction:column}
.wdsbm-public .wdsbm-workshop-body{display:flex;flex-direction:column;flex:1;min-width:0}
.wdsbm-public .wdsbm-card-footer{margin-top:auto}
.wdsbm-public .wdsbm-catalogue-open{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin:10px 0 14px;padding:7px 0;border:0;background:none;color:#111;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.wdsbm-public .wdsbm-catalogue-open:focus-visible{outline:2px solid #111;outline-offset:3px}
.wdsbm-catalogue-dialog[hidden]{display:none!important}
.wdsbm-catalogue-dialog{position:fixed;inset:0;z-index:2147480000;display:grid;place-items:center;padding:16px}
.wdsbm-catalogue-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.wdsbm-catalogue-dialog-panel{position:relative;width:min(900px,100%);max-height:min(90dvh,950px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);outline:none}
.wdsbm-catalogue-close{position:sticky;float:right;top:12px;margin:12px 12px -55px 0;z-index:3;width:42px;height:42px;border:1px solid #e6ded5;background:#fff;border-radius:50%;font-size:27px;cursor:pointer;color:#111}
.wdsbm-detail-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);min-height:360px}
.wdsbm-detail-photo{width:100%;height:100%;min-height:360px;object-fit:cover}
.wdsbm-detail-information{padding:clamp(24px,4vw,48px);min-width:0;display:flex;flex-direction:column;gap:13px}
.wdsbm-detail-eyebrow,.wdsbm-detail-cuisine{font-size:12px;letter-spacing:.07em;color:#70675e;font-weight:650}
.wdsbm-detail-heading{font-size:clamp(24px,3vw,38px);line-height:1.15;margin:0;color:#111}
.wdsbm-detail-description{font-size:15px;line-height:1.7;color:#57524e;overflow-wrap:anywhere}
.wdsbm-detail-description p{margin:0 0 12px}
.wdsbm-detail-price{margin-top:auto;font-size:24px}
.wdsbm-detail-price small{font-size:12px;color:#70675e;font-weight:400}
.wdsbm-detail-actions{display:flex;flex-wrap:wrap;gap:10px}
.wdsbm-detail-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #d6cfc8;border-radius:8px;color:#111;text-decoration:none;font-size:13px;font-weight:650}
.wdsbm-detail-actions a:first-child{background:#111;color:#fff;border-color:#111}
body.wdsbm-detail-modal-open{overflow:hidden}
@media(max-width:767px){
 .wdsbm-public .wdsbm-workshop-body{padding-bottom:12px}
 .wdsbm-public .wdsbm-catalogue-open{font-size:12px;margin:6px 0 12px;min-height:34px}
 .wdsbm-public .wdsbm-date-pill{font-size:11px!important;line-height:1.4!important}
 .wdsbm-public .wdsbm-catalogue-cuisine{font-size:10px!important;line-height:1.35!important}
 .wdsbm-public .wdsbm-workshop-body h3{line-height:1.25!important}
 .wdsbm-detail-content{display:block}
 .wdsbm-detail-photo{height:190px;min-height:0;aspect-ratio:16/9;object-fit:cover}
 .wdsbm-detail-information{padding:22px 19px 28px}
 .wdsbm-catalogue-dialog{padding:10px}
 .wdsbm-catalogue-dialog-panel{max-height:90dvh}
 .wdsbm-detail-actions a{flex:1 1 100%}
}
/* Kadence's minimum page height must not create excessive empty space below short catalogues */
body:has(.wdsbm-public .wdsbm-workshop-grid) #inner-wrap{min-height:0!important}
body:has(.wdsbm-public .wdsbm-workshop-grid) #primary{margin-bottom:0!important}

/* dev.329 — workshop detail popup polish */
.wdsbm-catalogue-dialog-panel{display:flex;flex-direction:column;overflow:hidden;max-height:min(90dvh,900px);max-height:min(90svh,900px)}
.wdsbm-catalogue-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.wdsbm-catalogue-close{position:absolute!important;float:none!important;top:12px!important;right:12px!important;margin:0!important;z-index:10;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;padding:0!important;border-radius:50%!important;background:#fff!important;color:#111!important;font-size:28px!important;line-height:1!important;box-shadow:0 3px 14px rgba(0,0,0,.18)!important}
.wdsbm-catalogue-close span{display:block;line-height:1;transform:translateY(-1px)}
.wdsbm-catalogue-close:hover{background:#f4eee8!important}
.wdsbm-catalogue-close:focus-visible{outline:3px solid #b68d59!important;outline-offset:2px}
.wdsbm-detail-content{min-height:0}
.wdsbm-detail-information{gap:11px}
.wdsbm-catalogue-sticky-footer[hidden]{display:none!important}
.wdsbm-catalogue-sticky-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-top:1px solid #e8e2dc;padding:12px 22px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px rgba(0,0,0,.04);z-index:5}
.wdsbm-catalogue-footer-price{font-weight:700;font-size:20px;color:#111;line-height:1.3}
.wdsbm-catalogue-footer-book{appearance:none;min-height:46px;padding:11px 24px;border:0;border-radius:8px;background:#111;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer}
.wdsbm-catalogue-footer-book:hover{background:#333}
.wdsbm-catalogue-footer-book:focus-visible{outline:3px solid #b68d59;outline-offset:2px}
@media(max-width:767px){
 .wdsbm-catalogue-dialog{padding:12px!important}
 .wdsbm-catalogue-dialog-panel{width:100%;max-height:calc(100dvh - 24px);max-height:calc(100svh - 24px);border-radius:14px}
 .wdsbm-detail-photo{height:clamp(130px,23dvh,185px)!important;min-height:0!important;aspect-ratio:auto!important}
 .wdsbm-detail-information{padding:14px 16px 18px!important;gap:8px!important}
 .wdsbm-detail-heading{font-size:clamp(23px,6vw,29px)!important;margin:0!important;line-height:1.16!important}
 .wdsbm-detail-description{font-size:14px;line-height:1.55}
 .wdsbm-detail-description p{margin:0 0 9px}
 .wdsbm-detail-price{display:none}
 .wdsbm-catalogue-close{top:10px!important;right:10px!important}
 .wdsbm-catalogue-sticky-footer{padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:10px}
 .wdsbm-catalogue-footer-price{font-size:17px}
 .wdsbm-catalogue-footer-book{min-width:132px;padding:10px 14px;font-size:13px}
}


/* dev.330 — Editorial desktop catalogue width, isolated from mobile layout */
@media (min-width: 1025px) {
  body.page:has(.wdsbm-public:not(.wdsbm-public--single)) .site-container {
    max-width: 1240px;
  }
  .wdsbm-public:not(.wdsbm-public--single) {
    width: 100% !important;
    max-width: 1200px !important;
    margin-inline: auto !important;
    padding: 24px 30px 28px !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 30px !important;
    max-width: 1140px;
    margin-inline: auto !important;
    align-items: stretch;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-card {
    width: 100%; max-width: 555px; margin-inline: auto; min-width: 0;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-media {
    height: 340px !important; min-height: 0 !important;
    aspect-ratio: auto !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-image {
    width: 100% !important; height: 100% !important; min-height: 0 !important;
    aspect-ratio: auto !important; object-fit: cover !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body {
    padding: 22px 24px !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head {
    max-width: 1140px; margin: 0 auto 26px !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-public-head h2 {
    font-size: clamp(36px,3.3vw,54px) !important;
  }
  .wdsbm-catalogue-dialog-panel { width: min(800px, calc(100vw - 48px)) !important; }
}
/* Balanced imagery on intermediate tablet sizes, without changing phone two-up grid */
@media (min-width: 768px) and (max-width: 1024px) {
  .wdsbm-public:not(.wdsbm-public--single) {max-width: 100%; margin-inline: auto;}
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 20px !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-media {
    height: 285px !important; min-height:0 !important; aspect-ratio:auto !important;
  }
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-image {
    height:100% !important; min-height:0 !important; aspect-ratio:auto !important; object-fit:cover !important;
  }
}

/* dev.331 — balanced editorial typography and desktop popup */
@media (min-width: 1025px) {
  .wdsbm-public:not(.wdsbm-public--single) .wdsbm-workshop-body h3 {
    font-size: clamp(26px, 2.05vw, 30px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: anywhere;
  }
  .wdsbm-catalogue-dialog-panel {
    width: min(880px, calc(100vw - 48px)) !important;
  }
  .wdsbm-catalogue-dialog .wdsbm-detail-content {
    display: grid !important;
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr) !important;
    align-items: stretch;
  }
  .wdsbm-catalogue-dialog .wdsbm-detail-photo {
    display: block; width: 100%; height: 100%;
    min-height: 0 !important; object-fit: cover;
    object-position: center 45%;
  }
  .wdsbm-catalogue-dialog .wdsbm-detail-information {
    padding: 28px 32px 30px !important;
    gap: 9px !important;
  }
  .wdsbm-catalogue-dialog .wdsbm-detail-heading {
    font-size: clamp(28px, 2.5vw, 32px) !important;
    line-height: 1.17 !important; letter-spacing: -.025em;
    margin: 2px 0 6px !important;
  }
  .wdsbm-catalogue-dialog :is(.wdsbm-detail-eyebrow,.wdsbm-detail-cuisine) {
    margin: 0 !important; line-height: 1.5;
  }
  .wdsbm-catalogue-dialog .wdsbm-detail-description {
    font-size: 14px; line-height: 1.65;
  }
}

/* dev.332: Full photo framing on desktop dialog only (no person/image edits) */
@media (min-width: 1025px) {
  .wdsbm-catalogue-dialog .wdsbm-detail-photo {
    object-fit: contain !important;
    object-position: center center !important;
    background: #181818;
  }
}


/* dev.333 — premium single workshop experience page */
.wdsbm-single-workshop-page{
  padding:clamp(14px,2vw,28px) clamp(12px,2.4vw,28px) clamp(28px,4vw,56px);
}
.wdsbm-single-workshop-page .wdsbm-public--single{
  max-width:1180px;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card{
  display:grid;
  grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);
  align-items:stretch;
  gap:0;
  background:#ffffff;
  border:1px solid #e6ddd2;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 56px rgba(31,24,18,.08);
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media{
  aspect-ratio:auto;
  min-height:560px;
  height:100%;
  background:#111;
  border-radius:0;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-image{
  object-fit:cover;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body{
  padding:clamp(24px,3vw,42px);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  min-width:0;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-date-pill{
  margin:0;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#76695d;
}
.wdsbm-single-workshop-page .wdsbm-single-cuisine{
  display:inline-flex;
  align-self:flex-start;
  margin:0;
  padding:8px 11px;
  background:#f5efe7;
  border:1px solid #e6ddd2;
  border-radius:999px;
  color:#8b6f46!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3{
  font-size:clamp(36px,4.5vw,60px)!important;
  line-height:1.03!important;
  letter-spacing:-.03em;
  margin:0!important;
}
.wdsbm-single-workshop-page .wdsbm-single-description{
  color:#59524c;
  font-size:16px;
  line-height:1.78;
  max-width:70ch;
}
.wdsbm-single-workshop-page .wdsbm-single-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:2px;
}
.wdsbm-single-workshop-page .wdsbm-single-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:12px 16px;
  border-radius:12px;
  text-decoration:none!important;
  font-size:13px;
  font-weight:650;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.wdsbm-single-workshop-page .wdsbm-single-secondary{
  border:1px solid #ddd3c7;
  color:#121212!important;
  background:#fff;
}
.wdsbm-single-workshop-page .wdsbm-single-secondary:hover{
  background:#f7f3ee;
  transform:translateY(-1px);
}
.wdsbm-single-workshop-page .wdsbm-single-whatsapp{
  border:1px solid #b7d9c4;
  background:#f2faf4;
  color:#1b6a42!important;
}
.wdsbm-single-workshop-page .wdsbm-single-whatsapp:hover{
  background:#e6f4ea;
  transform:translateY(-1px);
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-meta{
  margin-top:2px;
  padding-top:16px;
  border-top:1px solid #ece4d9;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #ece4d9;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer strong{
  font-size:clamp(28px,3vw,34px);
  line-height:1;
}
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer strong small{
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.wdsbm-single-workshop-page .wdsbm-public--single :is(.wdsbm-book-button,.wdsbm-waitlist-button){
  min-width:220px;
  min-height:54px;
  border-radius:12px;
  padding:14px 22px;
}
.wdsbm-single-workshop-page .wdsbm-single-gallery{
  margin-top:20px;
  padding:24px;
  background:#fff;
  border:1px solid #e6ddd2;
  border-radius:28px;
  box-shadow:0 14px 38px rgba(31,24,18,.06);
}
.wdsbm-single-workshop-page .wdsbm-single-gallery-head{
  margin-bottom:18px;
}
.wdsbm-single-workshop-page .wdsbm-single-gallery-track{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  overflow:visible;
}
.wdsbm-single-workshop-page .wdsbm-single-gallery-item{
  min-width:0;
  width:100%;
  border-radius:18px;
  overflow:hidden;
  background:#f6f1ea;
}
.wdsbm-single-workshop-page .wdsbm-single-gallery-item img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}
@media (max-width: 960px){
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card{
    grid-template-columns:1fr;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media{
    min-height:0;
    aspect-ratio:5/4;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body{
    padding:24px 22px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3{
    font-size:clamp(32px,7vw,48px)!important;
  }
}
@media (max-width: 640px){
  .wdsbm-single-workshop-page{
    padding:10px 10px 24px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card,
  .wdsbm-single-workshop-page .wdsbm-single-gallery{
    border-radius:20px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media{
    aspect-ratio:4/3.3;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body{
    padding:18px 16px 16px;
    gap:12px;
  }
  .wdsbm-single-workshop-page .wdsbm-single-description{
    font-size:14px;
    line-height:1.7;
  }
  .wdsbm-single-workshop-page .wdsbm-single-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .wdsbm-single-workshop-page .wdsbm-single-actions a{
    width:100%;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer{
    flex-direction:column;
    align-items:stretch;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer strong{
    font-size:23px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single :is(.wdsbm-book-button,.wdsbm-waitlist-button){
    min-width:0;
    width:100%;
  }
  .wdsbm-single-workshop-page .wdsbm-single-gallery{
    padding:18px 14px;
  }
  .wdsbm-single-workshop-page .wdsbm-single-gallery-track{
    gap:10px;
  }
  .wdsbm-single-workshop-page .wdsbm-single-gallery-item img{
    aspect-ratio:1/1.05;
  }
}


/* dev.334 — truly full-width, readable individual workshop pages on phones */
@media (max-width: 640px) {
  .wdsbm-single-workshop-page {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 0 18px;
  }
  .wdsbm-single-workshop-page .wdsbm-single-workshop-shell,
  .wdsbm-single-workshop-page .wdsbm-public--single,
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-grid {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0,1fr);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {
    width: 100%;
    min-height: 0;
    aspect-ratio: 5/3.5;
    border-radius: 0;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 20px clamp(16px, 5vw, 24px) 24px;
    gap: 12px;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {
    font-size: clamp(27px, 7.5vw, 36px) !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word;
    word-break: normal;
  }
  .wdsbm-single-workshop-page .wdsbm-single-description {
    font-size: 15px;
    line-height: 1.7;
    max-width: none;
  }
  .wdsbm-single-workshop-page .wdsbm-single-gallery {
    margin: 14px 0 0;
    padding: 18px clamp(16px, 5vw, 24px);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

/* dev.335 — final single workshop phone and tablet refinements. */
.wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-meta:empty {display:none!important}
@media (min-width:641px) and (max-width:960px) {
  .wdsbm-single-workshop-page {padding:16px clamp(18px,4vw,36px) 32px}
  .wdsbm-single-workshop-page .wdsbm-public--single {max-width:760px}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {aspect-ratio:16/9}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {padding:clamp(24px,4vw,38px)}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {font-size:clamp(34px,5vw,46px)!important;line-height:1.08!important}
  .wdsbm-single-workshop-page .wdsbm-single-description {font-size:16px;line-height:1.75}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-date-pill {font-size:12px;letter-spacing:.1em}
  .wdsbm-single-workshop-page .wdsbm-single-gallery {margin-top:16px}
}
@media (max-width:640px) {
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {aspect-ratio:16/10.5!important}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {padding:18px 16px 20px!important;gap:10px!important}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-date-pill {font-size:11px!important;letter-spacing:.09em!important;line-height:1.5!important}
  .wdsbm-single-workshop-page .wdsbm-single-cuisine {font-size:10px!important;letter-spacing:.12em!important}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {font-size:clamp(25px,6.8vw,33px)!important;line-height:1.09!important;margin:0 0 2px!important}
  .wdsbm-single-workshop-page .wdsbm-single-description {font-size:15px!important;line-height:1.62!important}
  .wdsbm-single-workshop-page .wdsbm-single-description p {margin-bottom:8px!important}
  .wdsbm-single-workshop-page .wdsbm-single-actions {margin:0!important;gap:8px!important}
  .wdsbm-single-workshop-page .wdsbm-single-actions a {min-height:44px;padding:10px 14px}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-meta {margin-top:0;padding-top:8px}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-card-footer {margin-top:4px!important;padding-top:12px!important;gap:10px!important}
  .wdsbm-single-workshop-page .wdsbm-public--single :is(.wdsbm-book-button,.wdsbm-waitlist-button) {min-height:50px!important;font-size:13px!important;letter-spacing:.02em!important}
  .wdsbm-single-workshop-page .wdsbm-single-gallery {margin-top:12px!important;padding-top:16px!important;padding-bottom:16px!important}
  .wdsbm-single-workshop-page .wdsbm-single-gallery-track {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .wdsbm-single-workshop-page .wdsbm-single-gallery-item img {aspect-ratio:1!important;object-fit:cover}
}

/* dev.336 — final breakpoint and overflow safeguards for single workshop pages.
   Scoped to workshop detail pages; public listing cards are unaffected. */
.wdsbm-single-workshop-page,
.wdsbm-single-workshop-page .wdsbm-single-workshop-shell,
.wdsbm-single-workshop-page .wdsbm-public--single,
.wdsbm-single-workshop-page .wdsbm-workshop-grid,
.wdsbm-single-workshop-page .wdsbm-workshop-card {
  box-sizing:border-box;
  min-width:0;
}
.wdsbm-single-workshop-page img {max-width:100%;}
.wdsbm-single-workshop-page .wdsbm-workshop-body,
.wdsbm-single-workshop-page .wdsbm-single-description {overflow-wrap:break-word;word-break:normal;}
.wdsbm-single-workshop-page .wdsbm-single-actions a:focus-visible,
.wdsbm-single-workshop-page .wdsbm-single-gallery-item:focus-visible {
  outline:2px solid #111;outline-offset:3px;
}
@media (min-width:641px) and (max-width:960px) {
  .wdsbm-single-workshop-page {width:100%;max-width:100%;padding:18px 18px 30px;}
  .wdsbm-single-workshop-page .wdsbm-single-workshop-shell,
  .wdsbm-single-workshop-page .wdsbm-public--single,
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-grid {
    width:100%;max-width:760px;margin-inline:auto;
  }
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card {width:100%;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {aspect-ratio:16/8.5;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {padding:26px 28px;gap:12px;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {font-size:clamp(30px,4.8vw,40px)!important;line-height:1.1!important;}
  .wdsbm-single-workshop-page .wdsbm-single-description {font-size:15px;line-height:1.65;}
  .wdsbm-single-workshop-page .wdsbm-single-gallery {max-width:760px;margin-inline:auto;}
}
@media (max-width:640px) {
  .wdsbm-single-workshop-page {width:100%;max-width:100%;margin:0;padding:0 0 16px;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-card {width:100%;margin:0;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body {min-width:0;padding:17px 16px 18px!important;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-body h3 {font-size:clamp(25px,6.4vw,31px)!important;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-media {aspect-ratio:16/10!important;}
  .wdsbm-single-workshop-page .wdsbm-public--single .wdsbm-workshop-image {width:100%;height:100%;object-fit:cover;}
  .wdsbm-single-workshop-page .wdsbm-single-gallery-track {grid-template-columns:repeat(2,minmax(0,1fr));}
}
