/* Shared workshop index/detail styles; the approved site tokens stay in styles.css. */
.workshops-banner { position: relative; height: clamp(320px, 35vw, 560px); background: var(--ink); color: var(--paper); }
.workshops-banner > img { width: 100%; height: 100%; object-fit: cover; object-position: center 85%; }
.workshops-banner::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgb(21 32 37 / .8), transparent 65%); }
.workshops-banner__title { position: absolute; z-index: 1; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%, var(--max)); padding: 2rem var(--gutter); }
.workshops-banner h1 { margin: 0; font-size: clamp(3rem, 7vw, 6.5rem); line-height: 1.1; font-weight: 600; letter-spacing: -.025em; }
.workshops-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(3rem, 6vw, 6rem); }
.workshops-intro h2 { margin: 0; font-size: clamp(1.9rem, 3.4vw, 3.5rem); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.workshops-intro .body-copy { margin: 0; }
.workshops-intro .body-copy p + p { margin-top: 1rem; }
.workshops-programme-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-bottom: 1.5rem; border-bottom: 1px solid var(--ink); margin-bottom: 2rem; }
.workshops-programme-heading h2 { margin: 0; font-size: clamp(1.5rem, 2.5vw, 2.25rem); font-weight: 600; letter-spacing: -.025em; }
.workshops-programme-heading p { margin: 0; }
.workshops-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.workshop-card { display: block; min-width: 0; text-decoration: none; }
.workshop-card > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.workshop-card__copy { padding-top: 1.25rem; }
.workshop-card h3 { margin: .5rem 0 .7rem; font-size: clamp(1.2rem, 1.6vw, 1.5rem); font-weight: 600; line-height: 1.25; }
a.workshop-card:hover h3 { text-decoration: underline; text-underline-offset: .18em; }
.workshop-card p { margin: .3rem 0; font-size: .9rem; }
.workshop-card__placeholder { display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 1; padding: clamp(1rem, 2vw, 2rem); border: 1px solid var(--line); background: var(--paper); }
.workshop-card__placeholder span { font-size: .85rem; }
.workshop-card__placeholder strong { font-size: clamp(1.2rem, 2.2vw, 2.1rem); line-height: 1.15; font-weight: 500; letter-spacing: -.025em; }
.workshop-detail__top { padding-top: 2rem; padding-bottom: clamp(3rem, 7vw, 7rem); }
.workshop-back { display: inline-block; padding: .75rem 0; margin-bottom: 2rem; }
.workshop-detail__layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.workshop-summary { min-width: 0; }
.workshop-gallery-and-intro { min-width: 0; }
.workshop-gallery-and-intro .workshop-prose { margin-top: 2.5rem; }
.workshop-summary h1 { max-width: 17ch; margin: .75rem 0 2rem; font-size: clamp(2.25rem, 4.3vw, 4.25rem); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; overflow-wrap: break-word; text-wrap: balance; }
.workshop-facts { margin: 0; border-top: 1px solid var(--ink); }
.workshop-facts > div { display: grid; grid-template-columns: 1fr 1.1fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.workshop-facts dt { font-size: .88rem; }
.workshop-facts dd { margin: 0; font-weight: 600; }
.workshop-admission { border-left: 3px solid var(--fair-orange); padding-left: 1rem; margin: 1.5rem 0; }
.workshop-register { display: inline-flex; justify-content: space-between; gap: 1.25rem; background: #f27573; color: #3d2d24; border-color: #3d2d24; text-align: left; white-space: normal; font-family: var(--font-body); letter-spacing: 0; font-size: .95rem; }
.workshop-register:hover { background: var(--ink); color: var(--paper); }
.workshop-summary .workshop-register { margin-top: 1.5rem; }
.workshop-email-note { margin: 1rem 0 0; font-size: .86rem; line-height: 1.6; overflow-wrap: anywhere; }
.workshop-description { background: var(--paper); border-block: 1px solid var(--line); }
.workshop-text-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(2rem, 7vw, 7rem); padding-block: clamp(3rem, 6vw, 6rem); }
.workshop-text-layout h2 { max-width: 15ch; margin: .75rem 0 0; font-size: clamp(2rem, 3.4vw, 3.25rem); font-weight: 600; line-height: 1.15; letter-spacing: -.025em; }
.workshop-prose { max-width: 46rem; font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.75; }
.workshop-prose h3 { margin: 2rem 0 .75rem; font-size: clamp(1.25rem, 1.6vw, 1.5rem); font-weight: 600; line-height: 1.35; }
.workshop-prose h3:first-child { margin-top: 0; }
.workshop-prose p { margin: 0 0 1rem; }
.workshop-prose ul { padding-left: 1.3rem; }
.workshop-general .workshop-register { margin-top: 1rem; }
@media (max-width: 1000px) {
  .workshops-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
  .workshop-card__placeholder strong { font-size: clamp(1.5rem, 4vw, 2.5rem); }
}
@media (max-width: 700px) {
  .workshops-banner { height: 330px; overflow: hidden; }
  .workshops-banner > img { height: calc(100% + 3rem); object-position: 44% 85%; transform: translateY(-3rem); }
  .workshops-intro, .workshop-detail__layout, .workshop-text-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .workshop-detail__top { padding-top: 1rem; }
  .workshop-back { margin-bottom: 1.25rem; }
  .workshop-summary h1 { max-width: 20ch; }
  .workshop-register { width: 100%; }
  .workshop-text-layout h2 { max-width: 20ch; }
}
@media (max-width: 450px) {
  .workshops-grid { grid-template-columns: minmax(0, 1fr); }
  .workshop-card__placeholder strong { font-size: 2rem; }
}

/* The supplied workshop graphics contain Hungarian text. Translate it visibly in English. */
.workshop-pending { position: relative; }
.workshop-pending__translation { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
html[lang="en"] .workshop-pending__translation { clip-path: none; inset: 24% 0 auto; width: 100%; height: 34%; padding: 2%; display: grid; place-items: center; background: #ffdadb; color: #000; text-align: center; font-size: clamp(1.05rem, 3vw, 2.2rem); font-weight: 700; line-height: 1.12; }
html[lang="en"] .workshop-pending--advanced .workshop-pending__translation { background: #a7e9e8; }
