/* Werkbund Event System – Public UI (v2.3.16)
   CI: Steirisch-Grün als Primärfarbe, warmes Orange als Akzent, viel Weißraum.
   Look: Apple-like, „liquid glass“, subtil animiert.
   Hinweis: Dieses Stylesheet ist bewusst robust gegen Theme-CSS (Kadence, Block-Themes, etc.).
*/

:root{
  --wes-green: #0f7a4c;
  --wes-green-2: #0b5f3a;
  --wes-accent: #d97a2b;
  --wes-bg: #f6f7f8;
  --wes-surface: rgba(255,255,255,.72);
  --wes-surface-strong: rgba(255,255,255,.88);
  --wes-border: rgba(15,122,76,.14);
  --wes-text: rgba(18,18,18,.92);
  --wes-muted: rgba(18,18,18,.62);
  --wes-shadow: 0 12px 30px rgba(0,0,0,.10);
  --wes-shadow-soft: 0 10px 26px rgba(0,0,0,.08);
  --wes-shadow-hover: 0 18px 44px rgba(0,0,0,.14);
  --wes-radius: 18px;
  --wes-radius-sm: 14px;
  --wes-radius-lg: 22px;
  --wes-blur: 16px;
  --wes-ring: 0 0 0 4px rgba(217,122,43,.18);
  --wes-ring-green: 0 0 0 4px rgba(15,122,76,.18);

  /* Motion tokens */
  --wes-ease: cubic-bezier(.2,.8,.2,1);
  --wes-ease-out: cubic-bezier(.16,1,.3,1);
  --wes-dur-1: 120ms;
  --wes-dur-2: 180ms;
  --wes-dur-3: 280ms;

  /* Spacing / container tokens */
  --wes-s1: 8px;
  --wes-s2: 16px;
  --wes-s3: 24px;
  --wes-s4: 32px;
  --wes-s5: 48px;
  --wes-s6: 64px;
  --wes-container: 1180px;
  --wes-gutter: clamp(14px, 3vw, 24px);
  /* Editorial text measure
     Goal: calm reading flow (not too narrow), responsive across viewports.
     - clamp() keeps it from becoming “too tight” on desktop
     - min() caps the max width for very large screens
  */
  --wes-textw: min(1120px, clamp(60ch, 70vw, 94ch));
}

/* =====================
   Beta2.1 Readability & Width Tuning (Artists)
   - Narrow long-form text to an editorial column
   - Improve contrast + font sizing
   - Avoid mid-word breaks ("anywhere")
===================== */

/* Replace overly aggressive wrapping from earlier overrides */
.wes-wrap, .wes-wrap *{
  overflow-wrap: break-word;
  word-break: normal;
}

/* Editorial text wrapper
   - Do NOT over-constrain sections (felt too narrow/centered)
   - Keep readability via prose max-width instead
*/
.wes-narrow{
  max-width: 100%;
  margin-inline: 0;
}

/* Artist profiles: slightly wider, calmer measure (aligns better with Hero scale)
   Keep it capped for readability, but avoid the feeling of a “thin column”.
*/
.wes-artist-editorial{
  --wes-textw: 100%;
}

/* Measure wrapper: headings + prose align to the same reading column */
.wes-artist-editorial .wes-measure{
  max-width: var(--wes-textw);
  margin-inline: auto;
}

/* References (bottom): minimal, small, Apple-like */
.wes-section--refs{ margin-top: clamp(22px, 3.2vw, 46px); }
.wes-h2--minor{
  font-size: 12px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(11,15,13,.58);
  margin-bottom: 10px !important;
}
.wes-ref-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.wes-ref-item{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:baseline;}
.wes-ref-date{font-variant-numeric:tabular-nums;color:rgba(11,15,13,.46);font-size:13px;min-height:1em;}
.wes-ref-link{color:rgba(11,15,13,.80);text-decoration:none;border-bottom:1px solid rgba(11,15,13,.14);width:fit-content;}
.wes-ref-link:hover{border-bottom-color:rgba(11,15,13,.30);}
@media (max-width: 520px){
  .wes-ref-item{grid-template-columns:1fr;gap:4px;}
  .wes-ref-date{font-size:12px;}
}

/* Make prose more readable (contrast + size + editorial line length) */
.wes-artist-editorial .wes-prose{
  color: rgba(11,15,13,.90);
  font-size: 17px;
  line-height: 1.76;
  width: 100%;
  max-width: var(--wes-textw);
  margin-inline: auto;
  /* avoid premature wraps: don't force break-word inside prose */
  overflow-wrap: normal;
  word-break: normal;
  /* iOS Safari + long German words: "pretty" can force premature line breaks.
     Prefer natural wrapping + hyphenation for calmer ragged-right. */
  text-wrap: wrap;
  text-align: left;
  -webkit-hyphens: auto;
  hyphens: auto;
  letter-spacing: 0;
}

/* iPhone: a touch smaller font + full measure (no 72vw clamp) */
@media (max-width: 640px){
  .wes-artist-editorial{ --wes-textw: 100%; }
  .wes-artist-editorial .wes-prose{ font-size: 16px; line-height: 1.78; }
}

/* Blockquotes feel editorial */
.wes-artist-editorial .wes-prose blockquote{
  margin: 14px 0;
  padding: 12px 14px;
  border-left: 3px solid rgba(15,107,58,.35);
  background: rgba(255,255,255,.55);
  border-radius: 14px;
  color: rgba(11,15,13,.86);
}


/* =====================
   Typesetting (DE): calmer right edge
   - Avoid frayed ragged-right by enabling hyphenation
   - Optional gentle justification on wider screens
===================== */

/* Global longform: avoid Safari's "pretty" line-breaking on German text.
   We prefer natural wrapping + hyphenation for a calmer, more predictable rag.
*/
.wes-prose,
.wes-content,
.wes-chronik-single-content{
  text-wrap: wrap;
  /* Guard: some themes set justify on content areas -> ugly gaps */
  text-align: left;
  hanging-punctuation: first last;
}

@media (max-width: 520px){
  .wes-prose,
  .wes-content,
  .wes-chronik-single-content{
    text-wrap: wrap;
  }
}

/* Keep URLs and long strings from breaking layouts */
.wes-prose :where(a,code),
.wes-content :where(a,code),
.wes-chronik-single-content :where(a,code){
  overflow-wrap: anywhere;
}

/* Paragraph rhythm + hyphenation (German) */
.wes-prose :where(p,li),
.wes-content :where(p,li),
.wes-chronik-single-content :where(p,li){
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: normal;
  word-break: normal;
  text-align: left;
}

/* On wider screens, keep hyphenation disciplined without forcing justify.
   Justify on medium widths often creates “rivers” (unruhig). */
@media (min-width: 980px){
  .wes-prose :where(p,li),
  .wes-content :where(p,li),
  .wes-chronik-single-content :where(p,li){
    hyphenate-limit-chars: 7 3 3;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
  }
}

/* =====================
   Step 3 – Editorial Rhythm
   - Soft collapse for longform text (keeps content in DOM)
   - One-column longform (no magazine split)
===================== */

/* Hard guard: never split longform into CSS columns (single-column reading flow) */
.wes-prose--columns{
  column-count: 1 !important;
  column-gap: normal !important;
  columns: auto !important;
}

.wes-prose-wrap{
  position: relative;
  max-width: var(--wes-textw);
  margin-inline: auto;
}

/* Artist profiles: slightly wider measure on desktop for calmer rhythm */
@media (min-width: 980px){
  .wes-artist-editorial{ --wes-textw: 100%; }
}


/* Collapse behavior (default if JS decides content is long) */
.wes-prose-wrap.is-collapsed .wes-prose{
  max-height: var(--wes-prose-max, 34rem);
  overflow: hidden;
  position: relative;
}

.wes-prose-wrap.is-collapsed .wes-prose::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5.2rem;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.95));
  pointer-events: none;
}

.wes-prose-toggle{
  margin-top: 12px;
  border: 1px solid rgba(15,122,76,.22);
  background: rgba(255,255,255,.70);
  color: rgba(11,15,13,.88);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 650;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  box-shadow: var(--wes-shadow-soft);
  backdrop-filter: blur(var(--wes-blur));
  -webkit-backdrop-filter: blur(var(--wes-blur));
}
.wes-prose-toggle:hover{ transform: translateY(-1px); box-shadow: var(--wes-shadow); }
.wes-prose-toggle:focus-visible{ outline: none; box-shadow: var(--wes-ring-green), var(--wes-shadow); }

.wes-prose-toggle__less{ display: none; }
.wes-prose-wrap.is-expanded .wes-prose-toggle__more{ display: none; }
.wes-prose-wrap.is-expanded .wes-prose-toggle__less{ display: inline; }


/* Softer sections: increase opacity for better contrast */
.wes-section--soft{
  background: rgba(255,255,255,.78);
  border-color: rgba(0,0,0,.08);
}

/* CV timeline readability */
.wes-artist-editorial .wes-cv{ margin-top: 16px; }
.wes-artist-editorial .wes-cv__item{
  background: rgba(255,255,255,.78);
  border-color: rgba(0,0,0,.08);
}
.wes-artist-editorial .wes-cv__text{
  color: rgba(11,15,13,.90);
  font-size: 16px;
  line-height: 1.62;
}
.wes-artist-editorial .wes-cv__date{
  color: rgba(11,15,13,.80);
  background: rgba(0,0,0,.02);
}

/* Robust baseline (gegen aggressive Theme-Defaults) */
.wes-wrap, .wes-wrap *{ box-sizing: border-box; }
.wes-wrap img{ max-width: 100%; height: auto; display: block; }
.wes-wrap button, .wes-wrap input, .wes-wrap select{ font: inherit; }
.wes-wrap :where(h1,h2,h3,h4,p,ul,ol){ margin: 0; }
.wes-wrap :where(a,button){ -webkit-tap-highlight-color: transparent; }

/* helper for JS scroll lock */
.wes-scroll-locked{ overflow: hidden !important; }

.wes-wrap{
  color: var(--wes-text);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

/* Archives (public post type archives) */
.wes-archive-shell{
  max-width: var(--wes-container);
  margin: 0 auto;
  padding: var(--wes-s4) var(--wes-gutter) var(--wes-s5);
}
/* 3.39.4 — Das Archiv-Shell trägt zugleich die Klasse .wes-wrap; deren
   Layout-Regel (padding:0 gutter, weiter unten in der Datei) überschreibt
   sonst die vertikalen Paddings oben auf 0 (gleiche Spezifität, spätere
   Regel gewinnt). Mit (0,2,0)-Spezifität setzen wir die Block-Paddings
   verbindlich: ruhiger Abstand oben, großzügige Luft zum (dunklen) Footer
   unten. Greift für alle Archiv-Übersichten (Künstler, Veranstaltungen, Orte). */
.wes-archive-shell.wes-wrap{
  padding-top: var(--wes-s4);
  padding-bottom: clamp(56px, 6vw, 96px);
}

.wes-archive-header{margin: 0 0 18px;}
.wes-archive-title{font-size: clamp(26px, 3vw, 40px); line-height: 1.15; margin: 0 0 8px; letter-spacing: -0.02em;}
.wes-archive-subtitle{margin: 0 0 14px; color: var(--wes-muted); max-width: 68ch;}

.wes-archive-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin: 6px 0 0;}
.wes-tab{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--wes-border);
  box-shadow: var(--wes-shadow-soft);
  color: inherit; text-decoration:none !important; font-weight: 650;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  backdrop-filter: blur(var(--wes-blur));
  -webkit-backdrop-filter: blur(var(--wes-blur));
}
.wes-tab:hover{transform: translateY(-1px); box-shadow: var(--wes-shadow);} 
.wes-tab.is-active{background: rgba(15,122,76,.16); border-color: rgba(15,122,76,.30);} 

/* Archive: subtle "submit" link (instead of button) */
.wes-archive-submitlink{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 650;
  color: var(--wes-green, #0b6b3a) !important;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
}
.wes-archive-submitlink:hover{
  text-decoration: underline !important;
  background: rgba(255,255,255,.35);
  border-color: rgba(0,0,0,.06);
}
.wes-archive-submitlink:focus-visible{
  outline: 3px solid rgba(196,106,43,.28);
  outline-offset: 2px;
}

.wes-archive-hint{
  margin: 10px 0 0;
  color: var(--wes-muted);
  font-size: 13px;
  line-height: 1.4;
}

.wes-wrap a,
.wes-wrap a:visited{
  color: inherit;
  text-decoration: none !important;
}

.wes-filter{
  margin: 0 0 18px 0;
  padding: 14px;
  border-radius: var(--wes-radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.66));
  border: 1px solid var(--wes-border);
  box-shadow: var(--wes-shadow-soft);
  backdrop-filter: blur(var(--wes-blur));
  -webkit-backdrop-filter: blur(var(--wes-blur));
}

.wes-filter-row{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.wes-filter-label{
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--wes-muted);
  margin-right: 10px;
}


.wes-filter-group{
  display:flex;
  align-items:center;
  gap: 10px;
  flex: 0 0 auto;
}

/* Small result counter inside filter bars (e.g. venues directory) */
.wes-filter-count{
  font-size: 12px;
  font-weight: 650;
  color: var(--wes-muted);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--wes-border);
  background: rgba(255,255,255,.55);
}

.wes-chips{
  display:flex;
  flex-wrap: wrap;
  gap:10px;
  align-items:center;
}

.wes-chip{
  appearance:none;
  border:1px solid var(--wes-border);
  background: rgba(15,122,76,.08);
  color: var(--wes-green-2);
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  cursor: default;
  user-select: none;
  transition: background .12s ease, border-color .12s ease, box-shadow .12s ease;
}

/* Interactive chips (only links/buttons) */
button.wes-chip,
a.wes-chip,
.wes-chip--link,
.wes-chip.is-link{
  cursor: pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.wes-chip:focus-visible{
  outline: none;
  box-shadow: var(--wes-ring-green);
}

button.wes-chip:hover,
a.wes-chip:hover,
.wes-chip--link:hover,
.wes-chip.is-link:hover{
  transform: translateY(-1px);
  background: rgba(15,122,76,.12);
  border-color: rgba(15,122,76,.28);
}

.wes-chip.is-active{
  background: rgba(15,122,76,.18);
  border-color: rgba(15,122,76,.38);
  box-shadow: 0 10px 24px rgba(15,122,76,.12);
}

.wes-chip--link,
.wes-chip.is-link{
  display:inline-flex;
  text-decoration:none !important;
}

.wes-search{
  flex: 1 1 260px;
  display:flex;
  justify-content:flex-end;
}


.wes-search-field{
  position: relative;
  width: min(420px, 100%);
  display: block;
}

.wes-search-field:focus-within .wes-search-input{
  border-color: rgba(15,122,76,.38);
  box-shadow: 0 0 0 4px rgba(15,122,76,.12);
}

.wes-search-input:focus{
  border-color: rgba(15,122,76,.38);
  box-shadow: 0 0 0 4px rgba(15,122,76,.12);
}

.wes-search-clear{
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.03);
  color: rgba(18,18,18,.70);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 18px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--wes-dur-2, 180ms) var(--wes-ease, cubic-bezier(.2,.8,.2,1)),
              transform var(--wes-dur-2, 180ms) var(--wes-ease, cubic-bezier(.2,.8,.2,1));
}

.wes-search-field.has-value .wes-search-clear{ opacity: 1; pointer-events: auto; }
@media (hover:hover){
  .wes-search-clear:hover{ background: rgba(0,0,0,.05); transform: translateY(-50%) scale(1.02); }
}
.wes-search-clear:active{ transform: translateY(-50%) scale(.98); }
.wes-search-clear:focus-visible{ outline: none; box-shadow: var(--wes-ring-green); }


.wes-search-input{
  width: 100%;
  padding: 12px 46px 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.86);
  outline: none;
  font-size: 15px;
}


.wes-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}

/* Events listing (shortcodes + archive): make mobile view compact like iOS cards */
.wes-grid.wes-grid-events{ gap: 14px; }

@media (max-width: 720px){
  /*
    Events pages (kommend/archiv) on mobile must feel like iOS: compact, legible,
    no huge posters, no excessive whitespace.
  */
  .wes-wrap.wes-wrap-events .wes-card{
    grid-template-columns: 84px 1fr;
    gap: 12px;
    padding: 12px;
    align-items: start;
  }

  .wes-wrap.wes-wrap-events .wes-poster{
    aspect-ratio: 1 / 1;
    border-radius: 12px;
  }

  .wes-wrap.wes-wrap-events .wes-card-body{ gap: 6px; }
  .wes-wrap.wes-wrap-events .wes-card-title{ font-size: 18px; line-height: 1.12; 
  text-wrap: balance;}
  .wes-wrap.wes-wrap-events .wes-card-teaser{ font-size: 14px; -webkit-line-clamp: 2; }

  /* Keep meta in a clean 2-col grid (no stacked label/value => less height). */
  .wes-wrap.wes-wrap-events .wes-meta{ gap: 6px; }
  .wes-wrap.wes-wrap-events .wes-meta-row{
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 10px;
    align-items: baseline;
    font-size: 13px;
  }
  .wes-wrap.wes-wrap-events .wes-meta-k{
    font-size: 11px;
    letter-spacing: .16em;
    white-space: nowrap;
  }
  .wes-wrap.wes-wrap-events .wes-meta-v{
    font-size: 14px;
    line-height: 1.25;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  /* Artists row: chips must wrap and remain fully readable on mobile.
     Never clamp this meta value (prevents name truncation). */
  .wes-wrap.wes-wrap-events .wes-meta-row--artists .wes-meta-v{
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
  }

  /* Button: calmer + smaller on mobile.
     Show actions only when cards are NOT full-link cards (no-js / legacy).
     Full-link cards must never show an extra Details button. */
  .wes-wrap.wes-wrap-events .wes-card:not(.wes-card--link) .wes-actions{ margin-top: 4px; display:flex; justify-content:flex-end; }
  .wes-wrap.wes-wrap-events .wes-btn{ padding: 8px 12px; font-size: 13px; border-radius: 14px; }
}

@media (max-width: 420px){
  .wes-wrap.wes-wrap-events .wes-card{ grid-template-columns: 76px 1fr; }
  .wes-wrap.wes-wrap-events .wes-card-title{ font-size: 17px; }
  .wes-wrap.wes-wrap-events .wes-meta-row{ grid-template-columns: 84px 1fr; }
}

.wes-card{
  grid-column: span 12;
  min-width: 0; /* prevent grid overflow on narrow screens */
  display:flex;
  flex-direction:column;
  gap: 12px;
  padding: 14px;
  border-radius: var(--wes-radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.64));
  border: 1px solid var(--wes-border);
  box-shadow: var(--wes-shadow-soft);
  backdrop-filter: blur(var(--wes-blur));
  -webkit-backdrop-filter: blur(var(--wes-blur));
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wes-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--wes-shadow-hover);
  border-color: rgba(15,122,76,.26);
}

.wes-card:focus-within{
  box-shadow: var(--wes-shadow-hover), var(--wes-ring-green);
  border-color: rgba(15,122,76,.30);
}

.wes-card-body,
.wes-meta-row,
.wes-meta-v,
.wes-meta-link,
.wes-chips{
  min-width: 0; /* allow text to wrap instead of expanding the grid */
}

/*
  IMPORTANT:
  Some themes apply aggressive word-breaking to headings.
  We must NEVER break mid-word ("zusammengewuerfelt" look on mobile).
*/
.wes-card-title{
  /* Never break mid-word on mobile ("Werk-bund" etc.). */
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  text-wrap: balance !important;
}

/* Title link should follow the same calm breaking rules (themes sometimes override anchors). */
.wes-card-title a{
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;

  text-wrap: balance !important;
}

/* Overview Cards: single primary appointment (Termine) */
.wes-primary-slot{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  line-height: 1.25;
}
.wes-primary-slot-label{ font-weight: 760; }
.wes-primary-slot-date{ font-weight: 720; font-variant-numeric: tabular-nums; }
.wes-primary-slot-time{ color: rgba(0,0,0,.68); font-variant-numeric: tabular-nums; }

@media (max-width: 720px){
  .wes-card{ padding: 12px; }
}

@media (max-width: 420px){
  .wes-card{ padding: 11px; }
}

/* --- Step: Event card structure (poster left, badges row, title, divider, info lines) --- */
.wes-card-head{
  display:grid;
  grid-template-columns: 92px minmax(0,1fr);
  gap: 14px;
  align-items:start;
}

@media (min-width: 720px){
  .wes-card-head{ grid-template-columns: 140px minmax(0,1fr); gap: 18px; }
}

.wes-card-badges{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }

.wes-card-teaser{ margin: 0; color: var(--wes-muted); font-size: 15px; line-height: 1.35; }

.wes-card-sep{
  height: 1px;
  width: 100%;
  background: rgba(0,0,0,.06);
}

.wes-card-info{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.wes-info-line{
  display:grid;
  grid-template-columns: 110px minmax(0,1fr);
  column-gap: 14px;
  align-items:start;
}

@media (max-width: 420px){
  .wes-info-line{ grid-template-columns: 96px minmax(0,1fr); column-gap: 12px; }
}

.wes-info-k{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  line-height: 1.2;
  white-space: nowrap;
  padding-top: 2px;
}

.wes-info-v{
  min-width: 0;
}

.wes-info-line--artists .wes-info-v a{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.14);
}

.wes-info-line--artists .wes-info-v a:hover{ border-bottom-color: rgba(15,122,76,.45); color: var(--wes-green-2); }

/* Step: Mobile-friendly artists line in event cards
   - Prevent label overlap with names
   - Put names on the next line for clarity */
.wes-info-line--artists{
  grid-template-columns: 1fr;
  row-gap: 8px;
}
.wes-info-line--artists .wes-info-k{
  white-space: normal;
  padding-top: 0;
}
.wes-info-line--artists .wes-info-v{
  padding-left: 0;
}
/* Links: calm by default, underline on hover only */
.wes-info-line--artists .wes-info-v a{
  border-bottom: none;
  text-decoration: none;
}
.wes-info-line--artists .wes-info-v a:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
  border-bottom: none;
}


.wes-badge.is-past{ background: rgba(0,0,0,.08); color: rgba(0,0,0,.70); border: 1px solid rgba(0,0,0,.10); }

.wes-poster{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.65);
  aspect-ratio: var(--wes-poster-ar, 3 / 4);
}

.wes-poster-img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit: contain !important; /* always show full poster */
  object-position: center !important;
  background: rgba(255,255,255,.35);
  display:block !important;
}

/* Overview thumbs: fill the frame (cropping allowed) */
.wes-poster-img--fill{
  object-fit: cover !important;
}

@media (max-width: 720px){
  /* Keep event posters A-format or square (decided per poster), only non-event cards become square. */
  .wes-wrap.wes-wrap-events .wes-card:not(.wes-card--event) .wes-poster{ aspect-ratio: 1 / 1; border-radius: 14px; }
  .wes-card--artist-event .wes-poster{ aspect-ratio: 1 / 1; }
}

/* Title: calmer line breaks (Apple-like) */
.wes-card-title{
  text-wrap: balance;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.wes-poster-fallback{
  width:100%;
  height:100%;
  min-height: 220px;
  background: linear-gradient(140deg, rgba(15,122,76,.12), rgba(217,122,43,.10));
}

.wes-card-body{
  padding: 2px 2px 4px 2px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.wes-card-title{
  font-size: clamp(18px, 1.45vw + 14px, 26px);
  line-height: 1.08;
  margin: 0;
  letter-spacing: -0.02em;
}

.wes-card-title a:hover{
  color: var(--wes-green-2);
}

.wes-card-teaser{
  margin: 0;
  color: var(--wes-muted);
  font-size: 16px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wes-meta{
  display:flex;
  flex-direction:column;
  gap: 6px;
  margin-top: 2px;
}

/*
  Meta rows must be pixel-consistent (Apple-like):
  left label column + right value column, with clean wrapping.
  Flex tends to look "zusammengewuerfelt" on narrow screens.
*/
.wes-meta-row{
  display: grid;
  grid-template-columns: minmax(108px, 150px) minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 6px;
  align-items: start;
}

.wes-meta-k{
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--wes-muted);
}

/* Mobile: lange Labels (z.B. "KÜNSTLER") dürfen nicht in Chips/Werte hineinragen */
@media (max-width: 520px){
  .wes-meta-k{
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Künstler: Label auf eigene Zeile, Chips darunter (keine Kollision/Überlappung) */
  .wes-wrap-events .wes-meta-row--artists,
  .wes-wrap-venues .wes-meta-row--artists,
  .wes-wrap-venue .wes-meta-row--artists{
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 8px;
    align-items: start;
  }

  .wes-wrap-events .wes-meta-row--artists .wes-artist-chips,
  .wes-wrap-venues .wes-meta-row--artists .wes-artist-chips,
  .wes-wrap-venue .wes-meta-row--artists .wes-artist-chips{
    flex-wrap: wrap;
    gap: 8px;
  }

  .wes-wrap-events .wes-meta-row--artists .wes-artist-chips .wes-chip,
  .wes-wrap-venues .wes-meta-row--artists .wes-artist-chips .wes-chip,
  .wes-wrap-venue .wes-meta-row--artists .wes-artist-chips .wes-chip{
    max-width: 100%;
  }
}

.wes-meta-v{
  display: block;
  font-size: 15px;
  color: var(--wes-text);
}

.wes-meta-link{
  color: var(--wes-text);
  text-decoration: none;
  border-bottom: 1px solid rgba(15,122,76,.18);
}
.wes-meta-link:hover{
  border-bottom-color: rgba(15,122,76,.55);
  color: var(--wes-green-2);
}

/* Venue link with optional address (stacked, iOS-like) */
.wes-meta-link{ display:flex; flex-direction:column; gap:2px; line-height:1.25; }
.wes-meta-main{ font-weight: 650; }
.wes-meta-sub{ color: var(--wes-muted); font-size: 12px; }

.wes-actions{
  margin-top: auto;
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap: wrap;
}

/* Harmonische Button-Aufteilung (Mobile: gleichmäßig, Desktop: natürlicher Flow) */
.wes-actions .wes-btn{
  flex: 1 1 150px;
}
@media (min-width: 721px){
  .wes-actions .wes-btn{ flex: 0 0 auto; }
}

@media (max-width: 520px){
  /* Mobile: keep label/value in one row (no huge vertical stacking) */
  .wes-actions{flex-direction:row;align-items:center;gap:10px}
  .wes-actions .wes-btn{flex:0 0 auto;width:auto}
  .wes-meta-row{grid-template-columns: 84px minmax(0, 1fr); column-gap: 10px; row-gap: 4px;}
  .wes-meta-k{letter-spacing:.14em; font-size: 11px}
  .wes-meta-v{font-size: 14px}
}

@media (max-width: 420px){
  .wes-actions .wes-btn{width: 100%; justify-content:center;}
  .wes-actions{flex-direction:column;align-items:stretch}
}

.wes-btn{
  appearance:none;
  border: 1px solid rgba(0,0,0,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.64));
  color: var(--wes-text);
  padding: 12px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  min-height: 44px;
  line-height: 1.1;
  backdrop-filter: blur(var(--wes-blur));
  -webkit-backdrop-filter: blur(var(--wes-blur));
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}

.wes-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--wes-shadow);
  border-color: rgba(15,122,76,.28);
}

.wes-btn:active{ transform: translateY(0); }

.wes-btn:focus-visible{
  outline: none;
  box-shadow: var(--wes-shadow), var(--wes-ring-green);
  border-color: rgba(15,122,76,.30);
}

.wes-btn.is-primary{
  background: linear-gradient(180deg, rgba(15,122,76,.96), rgba(11,95,58,.96));
  color: #fff;
  border-color: rgba(15,122,76,.35);
}

.wes-btn.is-primary:focus-visible{
  outline: none;
  box-shadow: var(--wes-shadow), var(--wes-ring);
}

.wes-btn.is-secondary{
  background: linear-gradient(180deg, rgba(15,122,76,.14), rgba(15,122,76,.08));
  border-color: rgba(15,122,76,.24);
  color: var(--wes-green-2);
}

.wes-btn.is-tertiary{
  background: rgba(255,255,255,.78);
}

.wes-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}

.wes-badge{
  display:inline-flex;
  align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.03);
  color: rgba(30,30,30,.88);
}

.wes-badge.is-today{
  background: rgba(217,122,43,.14);
  border-color: rgba(217,122,43,.24);
  color: rgba(120,60,10,.92);
}

.wes-badge.is-next{
  background: rgba(15,122,76,.12);
  border-color: rgba(15,122,76,.22);
  color: rgba(15,122,76,.95);
}

/* Werkbund Event marker (harmonisch, aber leicht hervorgehoben) */
.wes-badge.is-werkbund{
  margin-left: 0;
  background: rgba(217,122,43,.12);
  border-color: rgba(217,122,43,.22);
  color: rgba(120,60,10,.95);
}

.wes-card.wes-card-werkbund{
  border-color: rgba(217,122,43,.22);
  box-shadow: 0 18px 56px rgba(217,122,43,.10), 0 18px 56px rgba(0,0,0,.10);
}

.wes-empty{
  grid-column: 1/-1;
  padding: 18px;
  border-radius: var(--wes-radius);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.08);
  color: var(--wes-muted);
}

/* Single */
.wes-single{ background: transparent; overflow-x:hidden; }
.wes-single-hero{
  padding: clamp(18px, 3vw, 34px) 0;
}
.wes-single-hero-inner{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 18px;
  display:grid;
  /* poster + content: more balanced on desktop, less "left-stuck" */
  grid-template-columns: minmax(320px, 420px) 1fr;
  gap: 22px;
}
@media (max-width: 900px){
  .wes-single-hero-inner{ grid-template-columns: 1fr; }
}

.wes-single-poster{
  border-radius: var(--wes-radius);
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.72);
  box-shadow: var(--wes-shadow);
  aspect-ratio: var(--wes-poster-ar, 3 / 4);
}

.wes-single-poster-img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: rgba(255,255,255,.35);
  display:block !important;
}

.wes-single-head{
  padding: 10px 6px;
}

.wes-kicker{
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--wes-muted);
  margin-bottom: 10px;
}

.wes-single-title{
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.02;
  margin: 0 0 10px 0;
  letter-spacing: -0.03em;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

.wes-single-teaser{
  font-size: 18px;
  color: var(--wes-muted);
  margin: 0 0 16px 0;
}

.wes-single-meta{
  margin: 14px 0 18px 0;
  padding: 14px;
  border-radius: var(--wes-radius);
  background: var(--wes-surface);
  border: 1px solid var(--wes-border);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.wes-single-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* Single: make actions/share buttons behave on small screens (no overflow, nicer rhythm) */
@media (max-width: 640px){
  .wes-single-actions .wes-btn,
  .wes-share-buttons .wes-btn{
    flex: 1 1 calc(50% - 10px);
    justify-content: center;
  }

  /* Meta grid: keep labels readable and values aligned on mobile */
  .wes-meta-row{
    grid-template-columns: 90px minmax(0, 1fr);
    column-gap: 12px;
  }
}
@media (max-width: 420px){
  .wes-single-actions .wes-btn,
  .wes-share-buttons .wes-btn{
    flex: 1 1 100%;
  }
}

/* Single: prevent chips/long meta from pushing layout wider than the viewport */
.wes-single-meta{ overflow:hidden; }
.wes-single-meta .wes-chips{ max-width:100%; }
.wes-single-meta .wes-chip{ max-width:100%; }
.wes-meta-sub{ overflow-wrap: break-word; word-break: normal; hyphens: auto; }

@media (max-width: 380px){
  .wes-meta-row{ grid-template-columns: 78px minmax(0, 1fr); }
}

.wes-share{
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.wes-share-label{
  display:block;
  font-weight: 800;
  margin-bottom: 10px;
}
.wes-share-buttons{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.wes-share-hint{
  margin-top: 10px;
  color: var(--wes-muted);
  font-size: 13px;
}

.wes-single-section{
  padding: 14px 0 8px 0;
}

/* Safari/iOS can reserve large blank blocks for content-visibility on single pages.
   Keep single sections fully rendered to avoid artificial gaps above the description/video blocks. */
@supports (content-visibility: auto){
  .wes-single-section{ content-visibility: visible; contain-intrinsic-size: auto; }
}
.wes-single-section-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 18px;
}
.wes-h2{
  font-size: 26px;
  margin: 8px 0 14px 0;
  letter-spacing: -0.02em;
}

.wes-dates-list{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.wes-date-item{
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-template-areas: "main badges actions";
  gap: 12px;
  align-items: center;
  padding: 16px;
  min-height: 74px;
  border-radius: var(--wes-radius);
  background: var(--wes-surface);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.wes-date-item.is-next{
  border-color: rgba(15,122,76,.32);
  box-shadow: 0 16px 30px rgba(15,122,76,.10);
}
.wes-date-main{ grid-area: main; min-width: 0; }
.wes-date-actions{ grid-area: actions; display:flex; align-items:center; justify-content:flex-end; }
.wes-date-title{ font-weight: 900; }
.wes-date-time{
  color: var(--wes-muted);
  font-size: 14px;
  margin-top: 2px;
}
.wes-date-badges{
  grid-area: badges;
  display:flex;
  gap: 8px;
  flex-wrap: nowrap;
  align-items:center;
  justify-content:flex-end;
  white-space: nowrap;
}
@media (max-width: 720px){
  .wes-date-item{
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "actions"
      "badges";
    align-items: start;
    min-height: 0;
  }
  .wes-date-actions{ justify-content:flex-start; }
  .wes-date-badges{ justify-content:flex-start; flex-wrap: wrap; white-space: normal; }
}


.wes-content{
  color: var(--wes-text);
}
.wes-content p{ line-height: 1.6; color: var(--wes-text); }
.wes-content a{ color: var(--wes-green-2); text-decoration: none !important; }
.wes-content a:hover{ text-decoration: underline; }

.wes-consent-box{
  padding: 16px;
  border-radius: var(--wes-radius);
  border: 1px dashed rgba(0,0,0,.18);
  background: rgba(255,255,255,.6);
}
.wes-consent-title{
  font-weight: 900;
  margin-bottom: 6px;
}
.wes-consent-text{
  color: var(--wes-muted);
}

/* ===============================
   Artist cards (shortcode)
================================ */
.wes-artist-grid{
  grid-template-columns: repeat(12, 1fr);
}

.wes-artist-card{
  grid-column: span 6;
  padding: 0;
  border-radius: var(--wes-radius);
  background: var(--wes-surface);
  border: 1px solid var(--wes-border);
  box-shadow: var(--wes-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow:hidden;
}

/* Desktop density: 3 columns on wide screens (cleaner overview, less "giant" cards). */
@media (min-width: 1200px){
  .wes-artist-card{ grid-column: span 4; }
  .wes-artist-card .wes-artist-card-link{ padding: 14px; }
  .wes-artist-card .wes-avatar{ width:92px; height:92px; }
  .wes-artist-card .wes-artist-card-title{ font-size: 20px; }
}
@media (max-width: 900px){
  .wes-artist-card{ grid-column: span 12; }
}

.wes-artist-card-link{ display:block; padding: 16px; }
.wes-artist-card-top{ display:flex; gap: 14px; align-items:center; }
.wes-artist-card-title{ margin: 6px 0 0 0; font-size: 22px; letter-spacing: -0.02em; }
.wes-artist-card-years{ margin: 6px 0 0 0; color: var(--wes-muted); line-height: 1.25; font-variant-numeric: tabular-nums; }
.wes-artist-card-quote{ margin: 6px 0 0 0; color: var(--wes-muted); line-height: 1.35; }

/* iPhone / small screens: denser card rhythm (more content above the fold) */
@media (max-width: 520px){
  .wes-archive-shell.wes-wrap{ padding-top: 18px; padding-bottom: 56px; }
  .wes-artist-card-link{ padding: 12px; }
  .wes-avatar{ width:72px; height:72px; }
  .wes-artist-card-title{ font-size: 20px; }
  .wes-artist-card-years{ font-size: 14px; }
  .wes-artist-card-quote{ font-size: 14px; }
}

.wes-avatar{ width:104px; height:104px; border-radius: 999px; overflow:hidden; border: 1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.7); flex: 0 0 auto; box-shadow: 0 12px 34px rgba(0,0,0,.10); }
.wes-avatar-img{ width:100%; height:100%; object-fit: contain; display:block; }
.wes-avatar-fallback{ width:100%; height:100%; background: linear-gradient(140deg, rgba(15,122,76,.16), rgba(217,122,43,.10)); }

.wes-badge.is-archived{
  background: rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.14);
  color: rgba(0,0,0,.7);
}


.wes-toggle-section{ display:none; }
.wes-toggle-section.is-open{ display:block; }

/* YouTube play overlay (DSGVO-friendly: iframe loads only after click)
   - used on Artist profiles as an inline "Video-Fenster" under the header
*/
.wes-video-note{
  /* Note intentionally hidden: the consent dialog + overlay already communicate the action.
     Keep the selector for backwards-compatibility with cached templates.
  */
  display: none !important;
}
.wes-yt-wrap{
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: var(--wes-radius);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.04);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}
.wes-yt-placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  filter: saturate(1.02) contrast(1.02);
  transform: scale(1.02);
}
.wes-yt-wrap iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.wes-yt-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.75), rgba(255,255,255,.25));
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  cursor:pointer;
}
.wes-yt-play{
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: rgba(15,122,76,.92);
  color: #fff;
  font-size: 18px;
  box-shadow: 0 18px 46px rgba(0,0,0,.18);
}
.wes-yt-label{ font-weight: 800; letter-spacing: .02em; }
.wes-yt-wrap.is-loaded .wes-yt-overlay{ display:none; }
.wes-yt-wrap.is-loaded .wes-yt-placeholder{ display:none; }

/* --- DSGVO YouTube Consent Modal (no third-party until click) --- */
.wes-modal{ position: fixed; inset: 0; z-index: 999999; display: none; }
.wes-modal.is-open{ display: block; }
.wes-modal__backdrop{ position: absolute; inset: 0; background: rgba(0,0,0,.42); backdrop-filter: blur(10px); }
.wes-modal__panel{
  position: relative;
  max-width: 560px;
  margin: 12vh auto 0;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(16px);
  border-radius: 22px;
  box-shadow: 0 30px 90px rgba(0,0,0,.25);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
}
.wes-modal__head{ display:flex; align-items:center; justify-content:space-between; padding: 16px 18px; border-bottom: 1px solid rgba(0,0,0,.06); }
.wes-modal__title{ font-weight: 800; font-size: 16px; }
.wes-modal__x{ appearance: none; border: 0; background: transparent; font-size: 24px; line-height: 1; padding: 6px 10px; cursor: pointer; color: rgba(0,0,0,.65); }
.wes-modal__body{ padding: 16px 18px; color: rgba(18,18,18,.86); }
.wes-modal__body p{ margin: 0 0 10px; }
.wes-modal__small{ font-size: 13px; opacity: .92; }
.wes-modal__actions{ display:flex; gap: 10px; justify-content:flex-end; padding: 14px 18px; border-top: 1px solid rgba(0,0,0,.06); }
@media (max-width: 640px){
  .wes-modal__panel{ margin: 10vh 14px 0; }
  .wes-modal__actions{ flex-direction: column; }
}


.wes-box{
  padding: 16px;
  border-radius: var(--wes-radius);
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.60);
}
.wes-box h3{ margin: 0 0 10px 0; font-size: 18px; }

.wes-sticky-content h4{ margin: 14px 0 8px; font-size: 14px; letter-spacing: .02em; text-transform: uppercase; color: var(--wes-muted); }
.wes-sticky-content ul{ margin: 8px 0 0; padding-left: 18px; }
.wes-sticky-content li{ margin: 6px 0; }
.wes-sticky-content a{ color: var(--wes-green); text-decoration: none; }
.wes-sticky-content a:hover{ text-decoration: underline; }

/* sticky sidebar */
.wes-sticky{
  position: sticky;
  top: 94px;
}
@media (max-width: 900px){
  .wes-sticky{ position: static; }
}

/* content callouts */
.wes-box-soft{
  background: rgba(255,255,255,.54);
  border-color: rgba(0,0,0,.08);
}
.wes-box-highlight{
  background: linear-gradient(180deg, rgba(15,122,76,.09), rgba(255,255,255,.58));
  border-color: rgba(15,122,76,.16);
}

/* simple accordion */
.wes-accordion{ border: 1px solid rgba(0,0,0,.10); border-radius: var(--wes-radius); background: rgba(255,255,255,.56); overflow:hidden; }
.wes-accordion > summary{ cursor:pointer; padding: 14px 16px; list-style:none; font-weight:700; }
.wes-accordion > summary::-webkit-details-marker{ display:none; }
.wes-accordion-body{ padding: 0 16px 16px; }
.wes-list{ margin: 0; padding-left: 18px; }
.wes-list li{ margin: 6px 0; }


/* Gallery (Werkbund-/Galerie-würdig)
   - Keine Crops: jedes Bild vollständig sichtbar
   - Künstlerisch: Masonry-like via CSS columns
*/
/* Gallery (Artist works)
   Goals:
   - modern, light, Apple-like tiles
   - no cropping: image is ALWAYS fully visible
   - easy return from fullscreen (back button / close)
*/

/* =====================
   Artist Editorial (2.5.0)
   - Apple-like, magazine feature
   - Portrait left, text right
   - Mobile: portrait on top
===================== */

.wes-artist-editorial.is-deceased{--wes-artist-hero-bg: linear-gradient(180deg, var(--wes-artist-hero-deceased-from, #ffffff), var(--wes-artist-hero-deceased-to, #f2f3f5));--wes-artist-hero-border: var(--wes-artist-hero-deceased-border, rgba(0,0,0,.10));}

.wes-artist-editorial{max-width:1200px;margin:0 auto;padding:clamp(20px,4vw,44px) clamp(16px,3vw,28px);--wes-artist-hero-bg: linear-gradient(180deg, var(--wes-artist-hero-active-from, rgba(15,122,76,.10)), var(--wes-artist-hero-active-to, rgba(255,255,255,.70)));--wes-artist-hero-border: var(--wes-artist-hero-active-border, rgba(15,107,58,.12));}

.wes-artist-hero{border-radius:24px;background:var(--wes-artist-hero-bg, rgba(255,255,255,.72));border:1px solid var(--wes-artist-hero-border, rgba(15,107,58,.12));box-shadow:0 20px 60px rgba(0,0,0,.10);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;}
.wes-artist-hero__grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:clamp(16px,2.6vw,28px);padding:clamp(18px,2.8vw,28px);align-items:start;}

.wes-artist-portrait{width:100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:rgba(0,0,0,.03);}
.wes-artist-portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.wes-artist-portrait-fallback{width:100%;height:100%;}

.wes-artist-kicker{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
.wes-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(11,15,13,.62);}
.wes-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:650;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.03);}
.wes-pill--muted{color:rgba(11,15,13,.62)}

.wes-artist-title{margin:0;font-size:clamp(30px,3.6vw,52px);letter-spacing:-0.03em;line-height:1.05;}
.wes-artist-lifedates{margin:8px 0 0;color:rgba(11,15,13,.62);font-variant-numeric:tabular-nums;}

.wes-artist-lead{margin:16px 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.6;color:rgba(11,15,13,.82);max-width:58ch;}

.wes-artist-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.wes-chip{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid rgba(15,107,58,.12);background:rgba(15,107,58,.06);color:rgba(11,15,13,.78);font-variant-numeric:tabular-nums;}
.wes-chip--outline{background:rgba(255,255,255,.60);}
.wes-chip--muted{border-color:rgba(0,0,0,.10);background:rgba(0,0,0,.03);}
.wes-chip--sm{padding:6px 10px;font-size:12px;line-height:1.15;}

.wes-artist-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.wes-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:14px;border:1px solid rgba(15,107,58,.18);background:rgba(15,107,58,.10);color:rgba(11,15,13,.90);text-decoration:none;font-weight:700;}
.wes-btn:hover{background:rgba(15,107,58,.14)}
.wes-btn--secondary{border-color:rgba(0,0,0,.10);background:rgba(255,255,255,.65)}
.wes-btn--secondary:hover{background:rgba(255,255,255,.78)}
.wes-btn--ghost{border-color:rgba(196,106,43,.22);background:rgba(196,106,43,.08)}
.wes-btn--ghost:hover{background:rgba(196,106,43,.12)}

.wes-artist-contact{margin-top:16px;color:rgba(11,15,13,.62);font-size:14px;line-height:1.55;}

.wes-artist-body{margin-top:clamp(18px,3vw,30px)}
.wes-section{margin-top:clamp(20px,3.2vw,42px)}
.wes-section__inner{padding-inline:clamp(18px,2.8vw,28px)}
.wes-section h2{margin:0 0 12px;font-size:clamp(18px,1.8vw,24px);letter-spacing:-0.02em}

/* Shared section head (title + optional action) */
.wes-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.wes-section__head h2{margin:0}
.wes-section__head .wes-btn.is-small{padding:8px 12px;border-radius:12px;font-size:13px}

/* Soft sections get their padding via inner wrapper (keeps grid alignment consistent) */
.wes-section--soft{border-radius:20px;background:rgba(255,255,255,.62);border:1px solid rgba(0,0,0,.06);padding:0}
.wes-section--soft .wes-section__inner{padding:clamp(14px,2.4vw,22px)}
.wes-prose{color:rgba(11,15,13,.84);font-size:16px;line-height:1.7;max-width:88ch;text-wrap:wrap;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;word-break:normal;text-align:left;}
.wes-prose p{margin:0 0 12px}
.wes-prose p:last-child{margin-bottom:0}

.wes-prose ul,
.wes-prose ol{margin:10px 0 14px 20px;padding:0;}
.wes-prose li{margin:6px 0;}
.wes-prose a{color:var(--wes-green-2);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.14em;}
.wes-prose a:hover{color:var(--wes-green);}

/* =====================
   Artist longform: fix "too narrow" measure on mobile
   Cause: double horizontal padding (article + section inner)
   Solution: remove section inner padding inside artist editorial,
   keep it only for soft sections.
===================== */

.wes-artist-editorial .wes-section__inner{ padding-inline: 0; }
.wes-artist-editorial .wes-section--soft .wes-section__inner{ padding-inline: clamp(14px,2.4vw,22px); }

/* Calm right edge on artist longform.
   We rely on hyphenation + slightly wider measure on mobile.
   Avoid forced justification to prevent "rivers" and jittery spacing.
*/

/* Citations from Wikipedia-like sources: make them calm + superscript-like */
.wes-artist-editorial .wes-prose a[href*="cite_note"],
.wes-artist-editorial .wes-prose a[href^="#cite"],
.wes-artist-editorial .wes-prose a[href^="#cite_note"],
.wes-artist-editorial .wes-prose a[href^="#cite_ref"]{
  color: rgba(11,15,13,.52);
  text-decoration: none;
  font-size: .86em;
  vertical-align: super;
}

/* Exhibitions list (plain text -> editorial CV timeline) */
.wes-cv{margin-top:14px;}
.wes-cv__group{margin-top:18px;}
.wes-cv__year{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,15,13,.55);margin:0 0 10px;}
.wes-cv__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}

/* CV rows should read like editorial entries (not like buttons) */
.wes-cv__item{
  display:grid;
  grid-template-columns:minmax(9.5rem, 12rem) 1fr;
  gap:14px;
  align-items:start;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.55);
  /* subtle “timeline” cue */
  position:relative;
}
.wes-cv__date{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:unset;
  min-height:auto;
  padding:0;
  border:none;
  background:transparent;
  font-size:12px;
  font-weight:700;
  color:rgba(11,15,13,.62);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.wes-cv__date::before{content:"";display:block;width:6px;height:6px;border-radius:999px;background:rgba(11,15,13,.22);}
.wes-cv__date--empty{min-width:18px;width:18px;min-height:auto;height:auto;padding:0;border:none;background:transparent;justify-content:flex-start;}
.wes-cv__date--empty::before{content:"";display:block;width:6px;height:6px;border-radius:999px;background:rgba(11,15,13,.18);}
.wes-cv__text{color:rgba(11,15,13,.88);font-size:16px;line-height:1.65;text-wrap:wrap;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;word-break:normal;text-align:left;}
@media (max-width: 640px){
  .wes-cv__item{grid-template-columns:1fr;gap:10px;}
  .wes-cv__date{justify-self:start;}
}



.wes-artist-works{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px}
.wes-work{border-radius:16px;overflow:hidden;display:block;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.06)}
.wes-work img{width:100%;height:100%;object-fit:contain;display:block;aspect-ratio:1/1;background:rgba(255,255,255,.88)}
/* Museum-like hanging (justified rows) for Artist works */
.wes-artist-works--hang,
.wes-event-works--hang{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;justify-content:center}
.wes-artist-works--hang .wes-work,
.wes-event-works--hang .wes-work{width:auto;height:auto;border-radius:18px;overflow:hidden;display:block;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.06);box-shadow:0 14px 46px rgba(0,0,0,.08);transition:transform .18s ease, box-shadow .18s ease}
.wes-artist-works--hang .wes-work:hover,
.wes-event-works--hang .wes-work:hover{transform:translateY(-2px);box-shadow:0 18px 64px rgba(0,0,0,.10)}
.wes-artist-works--hang .wes-work img,
.wes-event-works--hang .wes-work img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto;background:rgba(255,255,255,.96)}
@media (max-width: 520px){
  .wes-artist-works--hang,
  .wes-event-works--hang{gap:10px}
  .wes-artist-works--hang .wes-work,
  .wes-event-works--hang .wes-work{border-radius:16px}
}


/* =====================
   Artist profile tabs + collapsing sticky header (3.10.45)
===================== */
.wes-artist-editorial{
  --wes-artist-sticky-top: 8px;
  --wes-artist-compact-media: 74px;
  --wes-artist-compact-gap: 12px;
  --wes-artist-collapse: 0;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero{
  position: sticky;
  top: calc(var(--wes-artist-sticky-top, 8px) + env(safe-area-inset-top, 0px));
  z-index: 14;
  overflow: visible;
  transition: box-shadow .34s cubic-bezier(.22,.61,.36,1),
              border-color .34s cubic-bezier(.22,.61,.36,1),
              background .34s cubic-bezier(.22,.61,.36,1),
              transform .34s cubic-bezier(.22,.61,.36,1),
              border-radius .34s cubic-bezier(.22,.61,.36,1);
  will-change: transform, box-shadow;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero__grid,
.wes-artist-editorial.has-artist-tabs .wes-artist-portrait,
.wes-artist-editorial.has-artist-tabs .wes-artist-title,
.wes-artist-editorial.has-artist-tabs .wes-artist-kicker,
.wes-artist-editorial.has-artist-tabs .wes-artist-lifedates,
.wes-artist-editorial.has-artist-tabs .wes-artist-lead,
.wes-artist-editorial.has-artist-tabs .wes-artist-chips,
.wes-artist-editorial.has-artist-tabs .wes-artist-contact,
.wes-artist-editorial.has-artist-tabs .wes-artist-ctas,
.wes-artist-editorial.has-artist-tabs .wes-breadcrumbs,
.wes-artist-editorial.has-artist-tabs .wes-artist-tabs,
.wes-artist-editorial.has-artist-tabs .wes-btn,
.wes-artist-editorial.has-artist-tabs .wes-chip{
  transition: opacity .28s cubic-bezier(.22,.61,.36,1),
              transform .34s cubic-bezier(.22,.61,.36,1),
              max-height .34s cubic-bezier(.22,.61,.36,1),
              margin .34s cubic-bezier(.22,.61,.36,1),
              padding .34s cubic-bezier(.22,.61,.36,1),
              gap .34s cubic-bezier(.22,.61,.36,1),
              font-size .34s cubic-bezier(.22,.61,.36,1),
              line-height .34s cubic-bezier(.22,.61,.36,1),
              width .34s cubic-bezier(.22,.61,.36,1),
              min-height .34s cubic-bezier(.22,.61,.36,1),
              border-radius .34s cubic-bezier(.22,.61,.36,1);
}

.wes-artist-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  padding: 0 clamp(18px,2.8vw,28px) clamp(16px,2.4vw,20px);
  margin-top: -2px;
}

.wes-artist-tab{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.68);
  color: rgba(11,15,13,.78);
  border-radius: 999px;
  padding: 11px 18px;
  min-height: 44px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: background .24s cubic-bezier(.22,.61,.36,1),
              color .24s cubic-bezier(.22,.61,.36,1),
              border-color .24s cubic-bezier(.22,.61,.36,1),
              transform .24s cubic-bezier(.22,.61,.36,1),
              box-shadow .24s cubic-bezier(.22,.61,.36,1);
}
.wes-artist-tab:hover{ transform: translateY(-1px); }
.wes-artist-tab:focus-visible{ outline:none; box-shadow: var(--wes-ring-green), 0 10px 24px rgba(0,0,0,.08); }
.wes-artist-tab.is-active,
.wes-artist-tab[aria-selected="true"]{
  border-color: rgba(15,107,58,.18);
  background: rgba(15,107,58,.10);
  color: rgba(11,15,13,.94);
}

.wes-artist-panel{ min-width: 0; }
.wes-artist-editorial[data-wes-artist-enhanced="1"] .wes-artist-panel{ display:none; }
.wes-artist-editorial[data-wes-artist-enhanced="1"] .wes-artist-panel.is-active{
  display:block;
  animation: wes-artist-panel-in .22s var(--wes-ease-out) both;
}

@keyframes wes-artist-panel-in{
  from{ opacity:0; transform: translateY(6px); }
  to{ opacity:1; transform: translateY(0); }
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero{
  box-shadow: 0 16px 42px rgba(0,0,0,.12);
  border-color: rgba(15,107,58,.14);
  border-radius: 20px;
  transform: translateY(-1px);
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
  grid-template-columns: var(--wes-artist-compact-media, 74px) minmax(0,1fr);
  gap: var(--wes-artist-compact-gap, 12px);
  align-items: center;
  padding: 10px clamp(12px,2.2vw,16px) 8px;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__media{
  width: var(--wes-artist-compact-media, 74px);
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-portrait{
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-breadcrumbs,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-lead,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-lifedates,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-chips,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-contact{
  opacity: 0;
  transform: translateY(-8px);
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
  pointer-events: none;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-kicker{
  margin-bottom: 4px;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-title{
  font-size: clamp(22px, 2.45vw, 30px);
  line-height: 1.01;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas{
  margin-top: 8px;
  gap: 8px;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-btn{
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 13px;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-tabs{
  padding: 0 clamp(12px,2.2vw,16px) 10px;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-tab{
  min-height: 38px;
  padding: 9px 14px;
  font-size: 13px;
}

.wes-artist-editorial.has-artist-tabs .wes-section{ scroll-margin-top: calc(var(--wes-artist-sticky-top, 8px) + env(safe-area-inset-top, 0px) + 24px); }

@media (max-width: 900px){
  .wes-artist-editorial{ --wes-artist-compact-media: 64px; }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero{
    top: calc(var(--wes-artist-sticky-top, 8px) + env(safe-area-inset-top, 0px));
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
    grid-template-columns: var(--wes-artist-compact-media, 64px) minmax(0,1fr);
    gap: 10px;
    padding: 9px 10px 7px;
    align-items: start;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__content{
    min-width: 0;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-title{
    font-size: clamp(20px, 6.6vw, 28px);
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas{
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-bottom: 1px;
  }
  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas::-webkit-scrollbar{ display:none; }
  .wes-artist-editorial.has-artist-tabs.is-compact .wes-btn{ flex: 0 0 auto; white-space: nowrap; }
}

@media (max-width: 520px){
  .wes-artist-tabs{
    gap: 8px;
    padding: 0 16px 16px;
  }

  .wes-artist-tab{
    flex: 1 1 0;
    justify-content: center;
    padding-inline: 12px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
    padding: 8px 8px 6px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__media{
    width: 58px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-portrait{
    border-radius: 14px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-kicker{
    display: none;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-title{
    font-size: 19px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas{
    margin-top: 6px;
    gap: 6px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-btn{
    min-height: 34px;
    padding: 7px 11px;
    font-size: 12px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-tabs{
    padding: 0 8px 8px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-tab{
    min-height: 36px;
    font-size: 12px;
    padding: 8px 12px;
  }
}

/* Lightbox: museum (bright) mode */
.wes-lightbox.wes-lightbox--museum .wes-lightbox-backdrop{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.wes-lightbox.wes-lightbox--museum .wes-lightbox-img{box-shadow:0 28px 90px rgba(0,0,0,.20);border:1px solid rgba(0,0,0,.10);background:#fff}
.wes-lightbox.wes-lightbox--museum .wes-lightbox-close,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-nav{border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.06);color:rgba(11,15,13,.88)}


.wes-event-mini-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}
.wes-event-mini-grid--compact{gap:12px}
.wes-event-mini{display:grid;grid-template-columns:clamp(86px, 11vw, 116px) minmax(0,1fr);gap:16px;align-items:start;border:1px solid rgba(14,18,15,.06);background:rgba(255,255,255,.82);border-radius:24px;padding:18px;box-shadow:0 14px 34px rgba(0,0,0,.05)}
.wes-event-mini__media{display:block;align-self:start;width:100%;aspect-ratio:var(--wes-event-mini-ar, 3/4);border-radius:18px;overflow:hidden;border:1px solid rgba(0,0,0,.06);background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,245,243,.96))}
.wes-event-mini__media img{width:100%;height:100%;aspect-ratio:var(--wes-event-mini-ar, 3/4);object-fit:contain;object-position:center;display:block;background:#fff}
.wes-event-mini__media-fallback{display:block;width:100%;height:100%;aspect-ratio:var(--wes-event-mini-ar, 3/4)}
.wes-event-mini__body{min-width:0;display:flex;flex-direction:column;gap:12px;align-self:start;padding-top:2px}
.wes-event-mini__title{margin:0;font-size:clamp(1.25rem,1.1rem + .3vw,1.7rem);letter-spacing:-0.028em;line-height:1.08;text-wrap:balance}
.wes-event-mini__title a{text-decoration:none;color:rgba(11,15,13,.92)}
.wes-event-mini__title a:hover{color:rgba(15,107,58,.95)}
.wes-event-mini__details{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.wes-event-mini__period{display:inline-flex;align-items:center;max-width:min(100%, 20ch);padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(247,247,245,.98);color:rgba(11,15,13,.82);font-size:15px;font-weight:620;line-height:1.15;letter-spacing:-.01em;white-space:normal;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.wes-event-mini__venue{margin:0;color:rgba(11,15,13,.66);font-size:clamp(14px,13px + .1vw,16px);line-height:1.35;overflow-wrap:anywhere}

.wes-artist-venues{display:flex;gap:10px;flex-wrap:wrap}

@media (max-width: 900px){
  .wes-artist-hero__grid{grid-template-columns:1fr;}
  .wes-artist-portrait{max-width:420px}
  .wes-event-mini-grid{grid-template-columns:1fr}
  .wes-artist-works{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width: 520px){
  /* Slightly wider measure on iPhone without feeling edge-to-edge */
  .wes-artist-editorial{padding:14px}
  .wes-artist-hero__grid{padding:16px}
  .wes-artist-title{font-size:32px}
  .wes-artist-lead{font-size:16px}
  .wes-artist-works{grid-template-columns:1fr}
  .wes-event-mini{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:16px;border-radius:22px}
  .wes-event-mini__period{padding:9px 12px;font-size:14px;max-width:min(100%, 18ch)}
  .wes-event-mini__title{font-size:clamp(1.05rem, .98rem + .9vw, 1.35rem);line-height:1.1}
}
.wes-gallery{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.06);
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(15,122,76,.10), transparent 55%),
    radial-gradient(900px 500px at 90% 10%, rgba(217,122,43,.08), transparent 55%),
    rgba(255,255,255,.62);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 18px 60px rgba(0,0,0,.08);
}
@media (max-width: 980px){ .wes-gallery{ grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; } }
@media (max-width: 560px){ .wes-gallery{ grid-template-columns: 1fr; padding: 14px; gap: 14px; } }

.wes-gallery-item{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.70));
  cursor: zoom-in;
  box-shadow: 0 18px 56px rgba(0,0,0,.10);
  overflow:hidden;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  transition: transform .18s ease, box-shadow .18s ease;
  min-height: 220px;
}

.wes-gallery-item::before{
  content:"";
  position:absolute;
  top: 10px;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(0,0,0,.18);
  box-shadow: 0 2px 10px rgba(0,0,0,.16);
  opacity: .55;
}
.wes-gallery-item:hover{ transform: translateY(-2px); box-shadow: 0 24px 70px rgba(0,0,0,.14); }

.wes-gallery-item img{
  width: 100%;
  height: auto;
  max-height: 320px;
  object-fit: contain !important; /* override theme defaults */
  display:block;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,.0));
}

/* Lightbox */
.wes-lightbox{ position: fixed; inset: 0; z-index: 999999; display:none; }
.wes-lightbox.is-open{ display:block; }
.wes-lightbox-backdrop{ position:absolute; inset:0; z-index:0; background: rgba(0,0,0,.74); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.wes-lightbox-inner{ position:absolute; inset: 0; z-index:1; display:flex; align-items:center; justify-content:center; padding: 18px; padding-top: calc(18px + env(safe-area-inset-top)); padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
/* Prefer “gallery wall” scale: image should use the viewport generously */
.wes-lightbox-img{ max-width: min(1400px, 98vw); max-height: 92vh; border-radius: 18px; box-shadow: 0 30px 90px rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.14); background:#fff; }
.wes-lightbox-close{ position:absolute; z-index: 2; top: calc(14px + env(safe-area-inset-top)); right: calc(14px + env(safe-area-inset-right)); width:42px; height:42px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.10); color:#fff; font-weight:900; cursor:pointer; display:flex; align-items:center; justify-content:center; pointer-events:auto; }
.wes-lightbox-nav{ position:absolute; z-index: 2; top: 50%; transform: translateY(-50%); width:46px; height:46px; border-radius:999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.10); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.wes-lightbox-prev{ left: 14px; }
.wes-lightbox-next{ right: 14px; }

/* Caption / counter (calm, museum-like) */
.wes-lightbox-meta{ position:absolute; z-index:2; left: 50%; transform: translateX(-50%); bottom: calc(14px + env(safe-area-inset-bottom)); max-width: min(720px, 92vw); padding: 10px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(0,0,0,.24); color: rgba(255,255,255,.92); font-size: 13px; line-height: 1.35; display:flex; gap: 10px; align-items:center; justify-content:center; text-align:center; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.wes-lightbox-meta__count{ opacity:.82; white-space:nowrap; }
.wes-lightbox-meta__cap{ opacity:.96; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wes-lightbox-meta.is-hidden{ display:none; }


/* Lightbox Thumbnails (desktop, subtle, Apple-like) */
.wes-lightbox--gallery .wes-lightbox-thumbs{
  position:absolute;
  z-index:2;
  left:50%;
  transform:translateX(-50%);
  bottom: calc(14px + env(safe-area-inset-bottom));
  max-width: min(980px, 92vw);
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display:flex;
  gap:10px;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.wes-lightbox--gallery .wes-lightbox-thumbs::-webkit-scrollbar{ display:none; }
.wes-lightbox--gallery .wes-lightbox-thumbs.is-hidden{ display:none; }

.wes-lightbox--gallery .wes-lightbox-thumb{
  width: 52px;
  height: 52px;
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  padding:0;
  cursor:pointer;
  flex: 0 0 auto;
}
.wes-lightbox--gallery .wes-lightbox-thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.wes-lightbox--gallery .wes-lightbox-thumb.is-active{
  border-color: rgba(15,122,76,.95);
  box-shadow: 0 0 0 2px rgba(15,122,76,.35);
}
.wes-lightbox--gallery .wes-lightbox-thumb:focus-visible{
  outline: 2px solid rgba(15,122,76,.92);
  outline-offset: 2px;
}

/* When thumbs are visible, move the meta pill slightly up */
.wes-lightbox--gallery .wes-lightbox-thumbs:not(.is-hidden) + .wes-lightbox-meta{
  bottom: calc(86px + env(safe-area-inset-bottom));
}

/* Mobile: thumbs off (more room), keep existing meta/nav spacing */
@media (max-width: 900px){
  .wes-lightbox--gallery .wes-lightbox-thumbs{ display:none; }
  .wes-lightbox--gallery .wes-lightbox-meta{ bottom: calc(76px + env(safe-area-inset-bottom)); }
}

/* Museum mode: lighter thumbs bar */
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.05);
}
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumb{
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
}
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumb.is-active{
  border-color: rgba(15,122,76,.95);
  box-shadow: 0 0 0 2px rgba(15,122,76,.25);
}

@media (max-width: 720px){
  .wes-lightbox-nav{ top:auto; bottom: calc(14px + env(safe-area-inset-bottom)); transform:none; width:52px; height:52px; }
  .wes-lightbox-prev{ left: 14px; }
  .wes-lightbox-next{ right: 14px; }
  .wes-lightbox-meta{ bottom: calc(76px + env(safe-area-inset-bottom)); }
}

@media (min-width: 1200px){
  .wes-lightbox-inner{ padding: 12px; padding-top: calc(12px + env(safe-area-inset-top)); padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .wes-lightbox-img{ max-width: min(1600px, 98vw); max-height: 94vh; }
}

/* Mobile helper: make close affordance extra obvious */
@media (max-width: 720px){
  .wes-lightbox-close{ width:48px; height:48px; font-size: 24px; }
}

/* Maps (privacy-friendly embed) */
.wes-map{
  margin-top: 18px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.62);
  box-shadow: 0 18px 56px rgba(0,0,0,.10);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.wes-map-head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; justify-content:space-between; }
.wes-map-address{ opacity:.78; font-size: .95rem; }
.wes-map-consent p{ margin: 10px 0 12px; opacity:.85; }
.wes-map-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.wes-map-actions .wes-btn{ flex: 0 0 auto; }
@media (max-width: 520px){ .wes-map-actions{ flex-direction: column; align-items: stretch; } .wes-map-actions .wes-btn, .wes-map-open{ width:100%; justify-content:center; } }
.wes-map-embed{ margin-top: 12px; border-radius: 16px; overflow:hidden; border:1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.6); }
.wes-map-embed iframe{ width:100%; height: 320px; border:0; display:block; }

/* If the global CMP has already granted external media, avoid flashing the local consent panel. */
html.wbc-external-yes .wes-map-consent{ display:none !important; }
html.wbc-external-yes .wes-map-embed{ min-height: 320px; }

/* Hide per-embed consent UI once external media consent is granted (via Werkbund Consent CMP or legacy opt-in) */
.wes-map.is-loaded .wes-map-consent{ display:none; }

.wes-event-list-compact .wes-card{ grid-template-columns: 160px 1fr; }
.wes-event-list-compact .wes-poster{ aspect-ratio: var(--wes-poster-ar, 3 / 4) !important; }
.wes-event-list-compact .wes-poster-img{ object-fit: contain; }
.wes-event-list-compact .wes-card-body{ padding: 14px 14px; }
.wes-event-list-compact .wes-card-title{ font-size: 20px; }
.wes-badge.is-next{ background: rgba(217,122,43,.18); border-color: rgba(217,122,43,.28); color: rgba(90,40,0,.9); }

@media (max-width: 520px){
  .wes-event-list-compact .wes-card{ grid-template-columns: 128px 1fr; }
}

/* =========================
   Veranstaltungsorte
========================= */

.wes-grid.wes-grid-venues{ gap: 14px; }

/* Directory layout (2026): image left/top, content right, quiet meta pills */
.wes-grid.wes-grid-venues.is-directory{ gap: 16px; }

.wes-wrap-venues{ max-width: 1160px; margin: 0 auto; padding: 22px 16px 64px; }

/* Apple-like cards: quiet border, soft shadow, generous spacing */
.wes-venue-card{ grid-column: span 6; border: 1px solid rgba(0,0,0,.08); background: rgba(255,255,255,.70); border-radius: 22px; overflow:hidden; box-shadow: 0 18px 56px rgba(0,0,0,.08); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.wes-venue-card-link{ display:block; padding: 16px; color: inherit; text-decoration:none; }
.wes-venue-card:hover{ transform: translateY(-2px); box-shadow: 0 24px 70px rgba(0,0,0,.10); border-color: rgba(0,0,0,.10); }
.wes-venue-card-top{ display:flex; gap: 14px; align-items:center; }
.wes-venue-thumb{ width: 92px; height: 92px; border-radius: 18px; overflow:hidden; border: 1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.70); box-shadow: 0 18px 46px rgba(0,0,0,.10); flex: 0 0 92px; }
.wes-venue-thumb img{ width:100%; height:100%; object-fit: contain; display:block; }
.wes-venue-thumb-fallback{ width:100%; height:100%; background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(215,240,228,.9)); }
.wes-venue-thumb-wrap{ width: 100%; aspect-ratio: 16/10; border-radius: 18px; overflow:hidden; border: 1px solid rgba(0,0,0,.08); background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(235,245,240,.92)); box-shadow: 0 12px 34px rgba(0,0,0,.06); }
.wes-venue-thumb-wrap .wes-venue-thumb{ width:100%; height:100%; border:0; border-radius:0; box-shadow:none; }
.wes-venue-thumb-wrap img.wes-venue-thumb{ width:100%; height:100%; object-fit: cover; display:block; }
.wes-venue-card-body{ padding-top: 12px; }
.wes-venue-addr{ margin-top:8px; color: rgba(20,40,30,.70); font-weight: 600; font-size: 14px; line-height: 1.35; }
.wes-venue-title{ margin: 0; font-size: 28px; letter-spacing:-0.02em; line-height:1.1; }
.wes-venue-excerpt{ margin: 8px 0 0 0; color: var(--wes-muted); line-height: 1.42; }
.wes-venue-actions{ margin-top: 12px; }

/* Directory cards: fix fallback thumbnail filling + reduce perceived "giant" card height */
.wes-venue-card-link{ padding: 14px; }
.wes-venue-thumb-wrap{ aspect-ratio: 16/9; border-radius: 16px; }
.wes-venue-thumb-wrap .wes-venue-thumb-fallback{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.wes-venue-thumb-wrap .wes-venue-initials{ font-size: 30px; }
.wes-venue-title{ font-size: 24px; }
.wes-venue-addr{ font-size: 13.5px; }
.wes-venue-excerpt{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow:hidden;
}

/* Desktop density: 3 columns for venues on wide screens */
@media (min-width: 1200px){
  .wes-venue-card{ grid-column: span 4; }
}

.wes-venue-meta-row{ margin-top: 10px; display:flex; gap: 8px; flex-wrap: wrap; align-items:center; }
.wes-pill{ display:inline-flex; align-items:center; gap:6px; padding: 7px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; border: 1px solid rgba(0,0,0,.10); background: rgba(255,255,255,.70); color: rgba(18,18,18,.80); }
.wes-pill.is-live{ border-color: rgba(15,122,76,.24); background: rgba(15,122,76,.10); color: rgba(15,122,76,.96); }
.wes-pill.is-next{ border-color: rgba(0,0,0,.10); background: rgba(255,255,255,.72); }
.wes-pill.is-neutral{ border-color: rgba(0,0,0,.08); background: rgba(255,255,255,.60); color: rgba(18,18,18,.62); }

.wes-venue-shell{ max-width: 1160px; margin: 0 auto; padding: 20px 16px 54px; }
.wes-venue-hero-inner{ display:grid; grid-template-columns: 1fr; gap: 16px; background: var(--wes-glass); border: 1px solid rgba(0,0,0,.10); border-radius: 22px; padding: 18px; box-shadow: 0 18px 46px rgba(0,0,0,.08); }
.wes-venue-kicker{ letter-spacing: .18em; text-transform: uppercase; font-size: 12px; color: var(--wes-muted); margin-bottom: 8px; }
.wes-venue-address{ margin: 10px 0 0 0; color: rgba(20,40,30,.70); font-weight: 600; }
.wes-venue-content-inner{ background: var(--wes-glass); border: 1px solid rgba(0,0,0,.10); border-radius: 22px; padding: 18px; box-shadow: 0 18px 46px rgba(0,0,0,.08); }
.wes-venue-section-inner{ background: var(--wes-glass); border: 1px solid rgba(0,0,0,.10); border-radius: 22px; padding: 18px; box-shadow: 0 18px 46px rgba(0,0,0,.08); }

/* Venue pages: present event cards in a balanced, responsive grid (not a full-width left-heavy stack) */
.wes-venue .wes-grid.wes-grid-events{
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
}

.wes-venue .wes-grid.wes-grid-events .wes-card{
  grid-column: auto;
}

@media (max-width: 900px){
  .wes-venue .wes-grid.wes-grid-events{ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
}

@media (max-width: 520px){
  .wes-venue .wes-grid.wes-grid-events{ grid-template-columns: 1fr; }
}

@media (max-width: 980px){
  .wes-venue-card{ grid-column: span 12; }
}


/* Meta subtext (e.g., venue address) */
.wes-meta-main{ display:inline; }
.wes-meta-sub{ display:block; margin-top:2px; opacity:.72; font-weight:500; font-size:.92em; line-height:1.25; }

/* Newsletter CTA */
.wes-newsletter{
  margin-top:18px;
  padding:18px;
  border-radius: var(--wes-radius, 18px);
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  backdrop-filter: blur(14px);
}
.wes-newsletter-hint{margin:6px 0 0; opacity:.8}
.wes-newsletter-embed{margin-top:12px}

.wes-btn.is-small{padding:8px 12px; font-size:13px; border-radius:999px}
.wes-date-item{display:flex; align-items:center; justify-content:space-between; gap:12px}
.wes-date-actions{display:flex; align-items:center; gap:10px}
@media (max-width: 520px){
  .wes-date-item{flex-direction:column; align-items:flex-start}
  .wes-date-actions{width:100%}
}

/* --- Werkbund System: Apple-like glass refinements (2.3.3) --- */
:root{
  --wes-radius-lg: 26px;
  --wes-radius-md: 18px;
  --wes-border: rgba(0,0,0,.06);
  --wes-glass: rgba(255,255,255,.72);
  --wes-glass-2: rgba(255,255,255,.58);
  --wes-shadow: 0 18px 50px rgba(0,0,0,.10);
}

.wes-card, .wes-panel, .wes-artist-hero, .wes-venue-hero{
  border-radius: var(--wes-radius-lg);
  border: 1px solid var(--wes-border);
  background: var(--wes-glass);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  box-shadow: var(--wes-shadow);
}

/* Venue overview */
.wes-venue-row{gap:16px; align-items:center;}
.wes-venue-thumb{width:72px;height:72px;border-radius:18px;overflow:hidden;flex:0 0 auto;}
.wes-venue-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.wes-venue-thumb-fallback{
  width:72px;height:72px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  background: radial-gradient(120px 120px at 20% 10%, rgba(172,246,200,.55), transparent 55%),
              linear-gradient(135deg, rgba(39,36,139,.10), rgba(172,246,200,.22));
  border: 1px solid rgba(39,36,139,.12);
}
.wes-venue-initials{font-weight:800;letter-spacing:.02em;color: rgba(0,0,0,.55);font-size:20px;}

/* Event list thumbnails: keep stable size */
.wes-event-thumb{width:140px;min-width:140px;max-width:140px;aspect-ratio:3/4;border-radius:18px;overflow:hidden;}
.wes-event-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
@media (min-width: 900px){
  .wes-event-thumb{width:180px;min-width:180px;max-width:180px;}
}

/* Term rows: clean alignment + calendar button */
.wes-term{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.wes-term-left{min-width:0;}
.wes-term-title{font-weight:800;}
.wes-term-meta{opacity:.75;}
.wes-term-actions{flex:0 0 auto;}
.wes-ics-btn{
  display:inline-flex;align-items:center;gap:8px;
  border-radius:999px;padding:8px 12px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(172,246,200,.35);
}
.wes-ics-btn:hover{background: rgba(172,246,200,.50);}

/* Search/filter bar: compact */
.wes-filterbar{border-radius: var(--wes-radius-md);}

/* Ticker */
.wes-ticker{overflow:hidden;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.wes-ticker-track{display:flex;gap:18px;align-items:center;padding:10px 14px;white-space:nowrap;overflow:auto;scrollbar-width:none;}
.wes-ticker-track::-webkit-scrollbar{display:none;}
.wes-ticker-item{display:inline-flex;gap:10px;align-items:center;text-decoration:none;border-radius:999px;padding:6px 10px;border:1px solid rgba(0,0,0,.05);background:rgba(172,246,200,.25);} 
.wes-ticker-date{font-weight:800;opacity:.75;}
.wes-ticker-title{font-weight:700;}
/* Layout containers */
.wes-wrap{max-width:var(--wes-container);margin:0 auto;padding:0 var(--wes-gutter);}
.wes-text, .wes-content{max-width:var(--wes-textw);}
.wes-events-list .wes-event-card{margin-bottom:18px;}

/* Mobile chips behavior
   IMPORTANT:
   - In cards (event/artist/venue) chips MUST wrap; otherwise they get clipped by card overflow.
   - Only the FILTER BAR may use horizontal scrolling on small screens.
*/
@media (max-width: 600px){
  .wes-filter-row.is-bottom{gap:10px;}

  /* default: wrap everywhere */
  .wes-chips{flex-wrap:wrap;white-space:normal;overflow:visible;}
  .wes-chip{flex:0 0 auto; max-width:100%;}

  /* filter bar: allow horizontal scroll (UX), without breaking cards */
  .wes-filterbar .wes-chips,
  .wes-filter .wes-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }
}

/* Share buttons: compact, iOS-like, no giant vertical stacks */
.wes-share{margin-top: 8px;}
.wes-share-label{display:block; font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:12px; color: var(--wes-muted); margin-bottom: 8px;}
.wes-share-buttons{display:flex; flex-wrap:wrap; gap:10px;}
.wes-share-buttons .wes-btn{flex: 1 1 calc(50% - 10px); justify-content:center;}
@media (max-width: 420px){
  .wes-share-buttons .wes-btn{flex-basis: 100%;}
}

/* Subtile Motion (Apple-like, ohne Funktionalität zu verändern) */
@keyframes wes-fade-up{
  from{ opacity: 0; transform: translateY(10px); }
  to{ opacity: 1; transform: translateY(0); }
}

.wes-filter{ animation: wes-fade-up .32s ease both; }
.wes-card{ animation: wes-fade-up .36s ease both; }

@media (prefers-reduced-motion: reduce){
  .wes-filter, .wes-card{ animation: none !important; }
  .wes-card, .wes-btn, .wes-tab, .wes-chip{ transition: none !important; }
}


/* Reveal animations (Apple-like, subtle) */
.wes-reveal{
  opacity: 0;
  transform: translateY(10px) scale(.99);
  /* blur removed */
  transition: opacity var(--wes-dur-3) var(--wes-ease),
              transform var(--wes-dur-3) var(--wes-ease),
              filter var(--wes-dur-3) var(--wes-ease);
  will-change: opacity, transform;
}
.wes-reveal.is-inview{
  opacity: 1;
  transform: translateY(0) scale(1);
  
}

/* Card micro-interactions */
.wes-card, .wes-artist-card, .wes-venue-card{
  transition: transform var(--wes-dur-2) var(--wes-ease),
              box-shadow var(--wes-dur-2) var(--wes-ease),
              border-color var(--wes-dur-2) var(--wes-ease);
}
.wes-card:hover, .wes-artist-card:hover, .wes-venue-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--wes-shadow-2);
  border-color: rgba(77,187,120,.35);
}

@media (prefers-reduced-motion: reduce){
  .wes-reveal{ opacity: 1; transform: none; filter: none; transition: none; }
  .wes-card, .wes-artist-card, .wes-venue-card{ transition: none; }
}


/* Poster frame: deterministic sizing (works for DIN A, square, etc.) */
.wes-poster{
  /* Card poster box: keep layout tidy across mixed poster formats */
  aspect-ratio: var(--wes-poster-ar, 3 / 4);
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.55);
}
@supports not (aspect-ratio: 1/1){
  .wes-poster{ height: 0; padding-top: 125%; }
}
.wes-poster img{
  width:100%;
  height:100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 520px){
  .wes-poster{ aspect-ratio: var(--wes-poster-ar, 3 / 4); }
}


/* === WES Design Tuning Overrides (2.3.18) === */

:root{
  --wes-radius-xl: 28px;
  --wes-radius-l: 18px;
  --wes-ease: cubic-bezier(.2,.8,.2,1);
}

/* Consistent, Apple-like rhythm & prevent theme overrides */
.wes-wrap *{ box-sizing: border-box; }
.wes-wrap{ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Reveal animation: JS uses .is-inview; keep backwards compat with .is-revealed */
.wes-reveal{ opacity:0; transform: translateY(10px) scale(.995); transition: opacity .55s var(--wes-ease), transform .55s var(--wes-ease); will-change: transform, opacity; }
.wes-reveal.is-inview,
.wes-reveal.is-revealed{ opacity:1; transform: translateY(0) scale(1); }

/* Cards: unify radii, shadows, hover micro-interactions */
.wes-card,
.wes-panel,
.wes-card-compact,
.wes-place-card,
.wes-artist-card,
.wes-single-wrap{
  border-radius: var(--wes-radius-xl);
}

.wes-card{ transition: transform .25s var(--wes-ease), box-shadow .25s var(--wes-ease); }
.wes-card:hover{ transform: translateY(-2px); box-shadow: 0 18px 60px rgba(0,0,0,.10); }
@media (hover:none){ .wes-card:hover{ transform:none; } }

/* Poster frame: clean museum look for any aspect ratio */
.wes-card-media{
  width: clamp(190px, 22vw, 270px);
  aspect-ratio: var(--wes-poster-ar, 3/4);
  border-radius: 20px;
}
.wes-card-media img{ object-fit: contain !important; }

/* Card header: badges wrap nicely, no "floating" look */
.wes-card-topline{ align-items: flex-start; gap: 14px; }
.wes-card-badges{ gap: 10px; flex-wrap: wrap; }

/* Buttons: harden against theme button styles */
.wes-wrap a.wes-btn,
.wes-wrap button.wes-btn{
  appearance:none; -webkit-appearance:none;
  font: inherit;
  text-decoration: none !important;
  line-height: 1;
}

.wes-btn{ min-height: 44px; }
.wes-btn:active{ transform: translateY(1px); }
.wes-btn{ transition: transform .18s var(--wes-ease), box-shadow .18s var(--wes-ease), filter .18s var(--wes-ease); }
.wes-btn:hover{ filter: brightness(1.02); box-shadow: 0 10px 30px rgba(0,0,0,.10); }
@media (hover:none){ .wes-btn:hover{ box-shadow:none; } }

/* Meta table: align to top, allow chips to wrap cleanly */
.wes-meta-row{ align-items: flex-start; }
.wes-meta-val{ display:block; min-width: 0; }
.wes-meta-val .wes-chips{ margin-top: 2px; }

/* Reduce accidental mid-word breaks from theme.
   IMPORTANT: "anywhere" is too aggressive on iPhone and breaks titles like
   "Kunst.April.Potpourri" into unreadable fragments.
   Use break-word + hyphenation for a calmer editorial rhythm. */
.wes-wrap, .wes-wrap *{ word-break: normal; overflow-wrap: break-word; hyphens: auto; }
.wes-card-title, .wes-hero-title, .wes-section-title{ overflow-wrap: normal; hyphens: none; }

/* Compact event list sections: consistent spacing */
.wes-section{ padding: 26px 26px 30px; }
@media (max-width:720px){
  .wes-section{ padding: 18px 16px 22px; }
}

/* Upcoming/Past list cards: align content & actions */
.wes-card-body{ gap: 14px; }
.wes-actions{ gap: 12px; flex-wrap: wrap; }

/* Termine rows: grid for perfect alignment across sizes */
.wes-date-item{ display:grid; grid-template-columns: 1fr auto; gap: 14px; align-items:center; }
.wes-date-main{ min-width:0; }
.wes-date-title{ margin:0 0 4px; }
.wes-date-actions{ display:flex; gap: 10px; align-items:center; justify-content:flex-end; flex-wrap: wrap; }
@media (max-width:720px){
  .wes-date-item{ grid-template-columns: 1fr; }
  .wes-date-actions{ justify-content:flex-start; }
  .wes-date-actions .wes-btn{ width: 100%; justify-content:center; }
}

/* Share buttons: equal width, less "form" look */
.wes-share-buttons{ display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.wes-share-buttons .wes-btn{ width:100%; justify-content:center; }

/* Single hero: keep detail box visually centered and calm */
.wes-hero-meta{ border-radius: 22px; }
.wes-hero-meta .wes-meta-label{ letter-spacing: .22em; }

/* Chips: consistent height & padding */
.wes-chip{ min-height: 34px; padding: 6px 12px; }

/* Map panel buttons */
.wes-map-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.wes-map-actions .wes-btn{ min-width: 180px; }
@media (max-width:520px){ .wes-map-actions .wes-btn{ width:100%; min-width:0; } }

/* Gallery "Werke" on artists: remove inner clutter, consistent frame */
.wes-works{ gap: 14px; }
.wes-work{ border-radius: 18px; }
.wes-work img{ border-radius: 14px; }

/* ============================================================
   Design Tuning Patch (v2.3.18)
   Goal: Apple-like cleanliness, consistent rhythm, liquid-glass,
   robust across iPhone/Android/Tablet/Desktop without markup breakage.
   ============================================================ */

.wes-scope{
  /* slightly tighter rhythm + stronger glass separation */
  --wes-radius-lg: 22px;
  --wes-radius-md: 16px;
  --wes-shadow-soft: 0 18px 40px rgba(10, 25, 20, .10);
  --wes-shadow-hover: 0 26px 70px rgba(10, 25, 20, .16);

  /* interactive ease */
  --wes-ease: cubic-bezier(.2,.8,.2,1);
}

/* -------- Filter / Search Bar -------- */
.wes-scope .wes-filter-bar{
  gap: var(--wes-space-3);
}

.wes-scope .wes-filter-row.is-top{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--wes-space-3);
}

.wes-scope .wes-filter-search{
  min-width: 0; /* prevents overflow in grid */
}

.wes-scope .wes-filter-search input{
  height: 44px;
  border-radius: 14px;
  padding: 0 14px;
}

.wes-scope .wes-filter-actions{
  display: flex;
  gap: var(--wes-space-2);
  justify-content: flex-end;
  align-items: center;
}

.wes-scope .wes-filter-reset{
  height: 44px;
  border-radius: 14px;
  padding: 0 14px;
  white-space: nowrap;
}

@media (max-width: 420px){
  .wes-scope .wes-filter-row.is-top{
    grid-template-columns: 1fr;
  }
  .wes-scope .wes-filter-actions{
    justify-content: flex-start;
  }
  .wes-scope .wes-filter-reset{
    width: 100%;
  }
}

/* chips: consistent height + crisp spacing */
.wes-scope .wes-filter-chips{
  gap: 10px;
}
.wes-scope .wes-filter-chip{
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  letter-spacing: .2px;
}

/* -------- Cards (List) -------- */
.wes-scope .wes-card{
  border-radius: var(--wes-radius-lg);
  box-shadow: var(--wes-shadow-soft);
  transition: transform .35s var(--wes-ease), box-shadow .35s var(--wes-ease), border-color .35s var(--wes-ease);
  overflow: hidden;
}

.wes-scope .wes-card::before{
  opacity: .75; /* stronger glass */
}

.wes-scope .wes-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--wes-shadow-hover);
}

@media (prefers-reduced-motion: reduce){
  .wes-scope .wes-card,
  .wes-scope .wes-card *{
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

.wes-scope .wes-card-inner{
  gap: var(--wes-space-5);
}

.wes-scope .wes-card-media{
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(172,246,200,.35);
  border-radius: 18px;
  padding: 10px;
  box-shadow: 0 10px 22px rgba(20,40,30,.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wes-scope .wes-card-media img{
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4; /* stable, prevents layout jumps */
  object-fit: contain; /* NEVER crop posters */
  border-radius: 14px;
  transform: translateZ(0);
  transition: transform .45s var(--wes-ease);
}

.wes-scope .wes-card:hover .wes-card-media img{
  transform: scale(1.02);
}

.wes-scope .wes-card__body{
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  gap: var(--wes-space-3);
  min-width: 0;
}

.wes-scope .wes-card-title{
  line-height: 1.08;
  letter-spacing: -0.01em;
  hyphens: none;
  word-break: normal;
  overflow-wrap: anywhere;
}

.wes-scope .wes-card-excerpt{
  line-height: 1.45;
}

.wes-scope .wes-meta{
  gap: 10px 18px;
}
.wes-scope .wes-meta__row{
  align-items: start;
}

.wes-scope .wes-meta__label{
  letter-spacing: .32em;
}

.wes-scope .wes-meta__value{
  hyphens: none;
  word-break: normal;
  overflow-wrap: break-word;
}

/* artists chips row on cards */
.wes-scope .wes-chips{
  gap: 10px;
}
.wes-scope .wes-chip{
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
}

/* actions: always bottom, consistent primary sizing */
.wes-scope .wes-actions{
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: var(--wes-space-2);
}

.wes-scope .wes-actions .wes-btn{
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
}

.wes-scope .wes-actions .wes-btn.is-primary{
  box-shadow: 0 10px 22px rgba(0, 90, 55, .18);
}

@media (max-width: 720px){
  .wes-scope .wes-card-inner{
    grid-template-columns: 1fr;
  }
  .wes-scope .wes-card-media{
    max-width: 260px;
    margin: 0 auto;
  }
  .wes-scope .wes-actions .wes-btn{
    width: 100%;
    justify-content: center;
  }
  .wes-scope .wes-actions{
    flex-direction: column;
    align-items: stretch;
  }
}

/* -------- Single Event: actions + share clean grid -------- */
.wes-scope .wes-single-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.wes-scope .wes-single-actions .wes-btn{
  height: 46px;
  padding: 0 18px;
  border-radius: 999px;
}

.wes-scope .wes-share-buttons{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wes-scope .wes-share-buttons .wes-btn{
  height: 46px;
  border-radius: 999px;
  justify-content: center;
}

@media (max-width: 720px){
  .wes-scope .wes-single-actions .wes-btn{
    width: 100%;
    justify-content: center;
  }
  .wes-scope .wes-share-buttons{
    grid-template-columns: 1fr;
  }
}

/* -------- Termine list: consistent grid, no awkward floating badges -------- */
.wes-scope .wes-terms li{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}

.wes-scope .wes-terms .wes-term-left{
  min-width: 0;
}

.wes-scope .wes-terms .wes-term-actions{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.wes-scope .wes-terms .wes-badges{
  margin-left: auto;
  display: inline-flex;
  gap: 10px;
}

@media (max-width: 720px){
  .wes-scope .wes-terms li{
    grid-template-columns: 1fr;
  }
  .wes-scope .wes-terms .wes-term-actions{
    justify-content: flex-start;
  }
}

/* -------- Micro-interactions (clean, not flashy) -------- */
.wes-scope .wes-btn{
  transition: transform .18s var(--wes-ease), box-shadow .25s var(--wes-ease), background-color .25s var(--wes-ease), border-color .25s var(--wes-ease), color .25s var(--wes-ease);
}

.wes-scope .wes-btn:hover{
  transform: translateY(-1px);
}

.wes-scope .wes-btn:active{
  transform: translateY(0);
}

.wes-scope .wes-chip.is-link{
  transition: transform .18s var(--wes-ease), background-color .25s var(--wes-ease), border-color .25s var(--wes-ease);
}

.wes-scope .wes-chip.is-link:hover{
  transform: translateY(-1px);
}

/* ------------------------------------------------------------
   Newsletter (Mailjet embed)
   ------------------------------------------------------------ */
.wes-newsletter{margin:22px 0 0; grid-column: 1 / -1;}
.wes-newsletter__inner{
  border-radius:26px;
  padding:18px 18px 14px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(46,125,80,.18);
  box-shadow: 0 18px 50px rgba(10,25,15,.12);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}
.wes-newsletter__head{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap;}
.wes-newsletter__title{margin:0; font-size:18px; letter-spacing:-.01em;}
.wes-newsletter__hint{margin:2px 0 0; color: rgba(20,25,23,.72); max-width:60ch;}
.wes-newsletter__embed{margin-top:14px;}
.wes-newsletter--compact .wes-newsletter__inner{padding:14px 14px 10px; border-radius:22px;}

/* Mailjet embeds sometimes ship with inline height:0 and rely on a JS resizer.
   If the script is blocked (privacy/caching), we still want a visible form. */
.wes-newsletter__embed iframe{
  width:100%;
  border:0;
  min-height: 560px;
  height: 560px !important;
}

/* Ticker empty CTA */
.wes-ticker--empty .wes-ticker-cta{
  margin-left:auto;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,139,66,.14);
  border: 1px solid rgba(255,139,66,.28);
  color: rgba(98,46,10,.92);
  font-weight:700;
  font-size:12px;
  letter-spacing:.02em;
}



/* =========================================================
   Artist Profile: Event cards (mobile-first, Apple-like)
   - Desktop: single column (calm reading flow)
   - Mobile: poster on top, compact meta, full-width CTA
   ========================================================= */
.wes-artist .wes-grid.wes-grid-events.wes-event-list-artist{
  grid-template-columns: 1fr;
  gap: 16px;
}

.wes-artist .wes-card--artist-event{
  display: grid;
  grid-template-columns: 156px 1fr;
  gap: 14px;
  padding: 12px;
}

.wes-artist .wes-card--artist-event .wes-card-body{
  padding: 12px 12px;
}

.wes-artist .wes-card--artist-event .wes-card-title{
  font-size: 18px;
  line-height: 1.15;
}

.wes-artist .wes-card--artist-event .wes-card-teaser{
  font-size: 14px;
  -webkit-line-clamp: 2;
}

.wes-artist .wes-card--artist-event .wes-meta{
  margin-top: 10px;
}

.wes-artist .wes-card--artist-event .wes-actions{
  margin-top: 12px;
}

.wes-artist .wes-card--artist-event .wes-actions .wes-btn{
  padding: 10px 14px;
  min-height: 40px;
  font-size: 13px;
}

@media (max-width: 720px){
  .wes-artist .wes-card--artist-event{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .wes-artist .wes-card--artist-event .wes-poster{
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(0,0,0,0.03);
  }
  .wes-artist .wes-card--artist-event .wes-poster-img{
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .wes-artist .wes-card--artist-event .wes-card-body{
    padding: 6px 6px 10px 6px;
  }
  .wes-artist .wes-card--artist-event .wes-card-top{
    margin-bottom: 6px;
  }
  .wes-artist .wes-card--artist-event .wes-meta{
    margin-top: 8px;
  }
  .wes-artist .wes-card--artist-event .wes-meta-row{
    display: flex;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
  }
  .wes-artist .wes-card--artist-event .wes-meta-k{
    font-size: 10px;
    letter-spacing: .14em;
  }
  .wes-artist .wes-card--artist-event .wes-meta-v{
    font-size: 13px;
    text-align: right;
  }
  .wes-artist .wes-card--artist-event .wes-actions{
    margin-top: 10px;
  }
  .wes-artist .wes-card--artist-event .wes-actions .wes-btn{
    width: 100%;
    justify-content: center;
    min-height: 44px;
  }
}


/* Single Event: Artists block (label above chips) */
.wes-meta-artists{
  margin-top: 12px;
  display: block;
}
.wes-meta-artists .wes-meta-k{
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: none;
  margin-bottom: 8px;
  white-space: normal;
}
.wes-meta-artists .wes-chips{
  align-items: flex-start;
}



/* --- v2.3.48: Card layout refinements for mobile (Apple-like density) --- */
@media (max-width:720px){
  /* Event cards: more compact poster + tighter rhythm */
  .wes-card-inner{ grid-template-columns: 92px 1fr; gap: 14px; padding: 18px; border-radius: 26px; }
  .wes-card-poster{ width: 92px; height: 92px; border-radius: 18px; }
  .wes-card-title{ font-size: 22px; line-height: 1.12; letter-spacing: -0.01em; }
  .wes-card-teaser{ font-size: 15px; }
  .wes-card-status{ font-size: 12px; padding: 5px 12px; }

  .wes-card-meta{ margin-top: 10px; gap: 12px; }
  .wes-meta-row{ grid-template-columns: 72px 1fr; gap: 10px; }
  .wes-meta-k{ font-size: 11px; letter-spacing: .18em; }
  .wes-meta-v{ font-size: 15px; }

  /* Artists row in single + lists: label above chips (prevents overlap) */
  .wes-meta-artists{ display:block; }
  .wes-meta-artists .wes-meta-k{ display:block; margin: 0 0 8px; }
  .wes-meta-artists .wes-chip-row{ margin-top: 0; }

  .wes-card-actions{ margin-top: 14px; }
  .wes-card-actions .wes-btn{ height: 48px; }
}

/* If a theme adds a share-tip line, hide it (requested). */
.wes-share-tip{ display:none !important; }


/* === 2.3.49: Event cards – cleaner Apple-like mobile layout (poster + title beside, meta full width) === */
.wes-wrap-events .wes-card,
.wes-wrap-venues .wes-card,
.wes-wrap-venue .wes-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.wes-wrap-events .wes-card-head,
.wes-wrap-venues .wes-card-head,
.wes-wrap-venue .wes-card-head{
  display:grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap:14px;
  align-items:start;
}

@media (min-width: 720px){
  .wes-wrap-events .wes-card-head,
  .wes-wrap-venues .wes-card-head,
  .wes-wrap-venue .wes-card-head{
    grid-template-columns: 140px minmax(0, 1fr);
    gap:18px;
  }
}

.wes-wrap-events .wes-card-meta,
.wes-wrap-venues .wes-card-meta,
.wes-wrap-venue .wes-card-meta{
  border-top: 1px solid rgba(0,0,0,.06);
  padding-top: 12px;
  display:grid;
  gap:10px;
}

.wes-wrap-events .wes-meta-row,
.wes-wrap-venues .wes-meta-row,
.wes-wrap-venue .wes-meta-row{
  display:grid;
  grid-template-columns: 110px minmax(0,1fr);
  column-gap: 14px;
  align-items:start;
}

@media (max-width: 420px){
  .wes-wrap-events .wes-meta-row,
  .wes-wrap-venues .wes-meta-row,
  .wes-wrap-venue .wes-meta-row{
    grid-template-columns: 96px minmax(0,1fr);
    column-gap: 12px;
  }
}

.wes-wrap-events .wes-meta-k,
.wes-wrap-venues .wes-meta-k,
.wes-wrap-venue .wes-meta-k{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  line-height: 1.2;
  padding-top: 2px;
}

.wes-wrap-events .wes-meta-v,
.wes-wrap-venues .wes-meta-v,
.wes-wrap-venue .wes-meta-v{
  min-width:0;
  line-height: 1.3;
  color: rgba(0,0,0,.86);
}

.wes-wrap-events .wes-meta-link,
.wes-wrap-venues .wes-meta-link,
.wes-wrap-venue .wes-meta-link{
  display:block;
  text-decoration: none;
}

.wes-wrap-events .wes-meta-main,
.wes-wrap-venues .wes-meta-main,
.wes-wrap-venue .wes-meta-main{
  font-weight: 650;
}

.wes-wrap-events .wes-meta-sub,
.wes-wrap-venues .wes-meta-sub,
.wes-wrap-venue .wes-meta-sub{
  display:block;
  margin-top: 3px;
  font-weight: 450;
  color: rgba(0,0,0,.62);
}

.wes-wrap-events .wes-meta-row--artists,
.wes-wrap-venues .wes-meta-row--artists,
.wes-wrap-venue .wes-meta-row--artists{
  grid-template-columns: 1fr;
  gap: 8px;
}

.wes-wrap-events .wes-meta-row--artists .wes-meta-k,
.wes-wrap-venues .wes-meta-row--artists .wes-meta-k,
.wes-wrap-venue .wes-meta-row--artists .wes-meta-k{
  padding-top: 0;
}

.wes-wrap-events .wes-artists,
.wes-wrap-venues .wes-artists,
.wes-wrap-venue .wes-artists{
  display:flex;
  flex-wrap: wrap;
  gap:10px;
}

/* Slightly smaller poster in lists – details page remains large */
.wes-wrap-events .wes-card-head .wes-poster,
.wes-wrap-venues .wes-card-head .wes-poster,
.wes-wrap-venue .wes-card-head .wes-poster{
  border-radius: 16px;
  overflow:hidden;
}


/* --------------------------------------------------------------------------
 * Extra-compact mobile layout (iPhone widths)
 * Goal: Poster small beside title/teaser, then full-width meta rows (stacked)
 * -------------------------------------------------------------------------- */
@media (max-width: 520px) {
  .wes-wrap .wes-card-head,
  .wes-wrap-venue .wes-card-head,
  .wes-wrap-events .wes-card-head {
    grid-template-columns: 72px 1fr;
    gap: 12px;
  }

  .wes-wrap .wes-card-poster,
  .wes-wrap-venue .wes-card-poster,
  .wes-wrap-events .wes-card-poster {
    width: 72px;
  }

  .wes-wrap .wes-card-poster img,
  .wes-wrap-venue .wes-card-poster img,
  .wes-wrap-events .wes-card-poster img {
    width: 72px;
    height: 96px;
  }

  .wes-wrap .wes-card-badges,
  .wes-wrap-venue .wes-card-badges,
  .wes-wrap-events .wes-card-badges {
    justify-content: flex-start;
    margin-bottom: 6px;
  }

  .wes-wrap .wes-card-title,
  .wes-wrap-venue .wes-card-title,
  .wes-wrap-events .wes-card-title {
    font-size: 22px;
    line-height: 1.12;
  }

  .wes-wrap .wes-card-teaser,
  .wes-wrap-venue .wes-card-teaser,
  .wes-wrap-events .wes-card-teaser {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .wes-wrap .wes-card-meta,
  .wes-wrap-venue .wes-card-meta,
  .wes-wrap-events .wes-card-meta {
    padding-top: 14px;
  }

  .wes-wrap .wes-meta-row,
  .wes-wrap-venue .wes-meta-row,
  .wes-wrap-events .wes-meta-row {
    /* Force stacked meta rows on iPhone widths (prevents label overlap with chips)
       Use !important to win against theme CSS and any earlier plugin overrides. */
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px;
  }

  .wes-wrap .wes-meta-k,
  .wes-wrap-venue .wes-meta-k,
  .wes-wrap-events .wes-meta-k {
    margin-bottom: 2px;
    /* iPhone: keep labels readable.
       We stack meta rows on mobile, so the label can stay on one line.
       Avoid any mid-word letter splitting ("ZEITRAU M"). */
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    letter-spacing: .16em;
  }

  .wes-wrap .wes-meta-v,
  .wes-wrap-venue .wes-meta-v,
  .wes-wrap-events .wes-meta-v {
    justify-self: start;
  }

  .wes-wrap .wes-card-actions,
  .wes-wrap-venue .wes-card-actions,
  .wes-wrap-events .wes-card-actions {
    justify-content: stretch;
  }

  .wes-wrap .wes-card-actions .wes-btn,
  .wes-wrap-venue .wes-card-actions .wes-btn,
  .wes-wrap-events .wes-card-actions .wes-btn {
    width: 100%;
    max-width: none;
  }


  .wes-wrap .wes-meta-row--artists,
  .wes-wrap-venue .wes-meta-row--artists,
  .wes-wrap-events .wes-meta-row--artists {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  /* Artist chips: always wrap, never clip the 2nd/3rd name */
  .wes-wrap .wes-chip-row,
  .wes-wrap-venue .wes-chip-row,
  .wes-wrap-events .wes-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
  }
}


/* ------------------------------------------------------------
   Events list pages (Kommend/Archiv) – layout finalization
   ------------------------------------------------------------ */
.wes-pagehead{
  max-width: var(--wes-container, 1200px);
  margin: 0 auto 14px;
  padding: 0 12px;
}
.wes-pagehead__title{
  margin: 0 0 6px;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.wes-pagehead__lead{
  margin: 0;
  color: rgba(20,25,30,.72);
  font-size: 14px;
  line-height: 1.5;
}

/* Filter bar spacing + wrapping */
.wes-filterbar{
  max-width: var(--wes-container, 1200px);
  margin: 0 auto 14px;
  padding: 10px 12px;
  gap: 10px;
}
.wes-filterbar .wes-filtergroup{
  gap: 10px;
}
.wes-wrap-events .wes-grid-events{
  margin-top: 8px;
}

/* Step 8: Events archive/listing grid — calm 2-column rhythm on desktop, 1-column on smaller screens */
.wes-wrap-events .wes-grid-events{
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
}
.wes-wrap-events .wes-grid-events .wes-card{
  grid-column: auto;
}
@media (max-width: 920px){
  .wes-wrap-events .wes-grid-events{ grid-template-columns: 1fr; }
}

/* Step 8: Cards are fully clickable via JS (data-href). Keep UI clean. */
.wes-card--link{ cursor: pointer; }
.wes-card--link .wes-actions{ display:none !important; }
.wes-card--link:focus-visible{
  outline: none;
  box-shadow: var(--wes-shadow-hover), var(--wes-ring-green);
  border-color: rgba(15,122,76,.30);
}

/* Listing pages: keep titles to two lines for consistent card heights */
.wes-wrap-events .wes-card-title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media (max-width: 640px){
  .wes-pagehead{ margin-bottom: 10px; }
  .wes-filterbar{ padding: 10px; }
}

/* Force-hide legacy 'Details' action when cards are full-link */
.wes-card--link .wes-actions,
.wes-actions[aria-hidden="true"]{
  display:none !important;
}

/* Artist chips inside cards must wrap – never ellipsis */
.wes-card .wes-artists .wes-chip{
  white-space: normal !important;
  max-width: 100% !important;
}

.wes-map-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.60);
  color: rgba(15,122,76,.95);
  font-weight: 700;
  text-decoration:none;
}
.wes-map-open:hover{ background: rgba(15,122,76,.08); border-color: rgba(15,122,76,.22); }
.wes-map-open:focus-visible{ outline:none; box-shadow: var(--wes-ring-green); }


/* ============================================================
 * 2.10.5: Mobile Event Cards – unified layout (Kommend/Archiv)
 * Goal: exactly the same, calm structure on iPhone:
 * Poster top-left + badges line + title, then meta list:
 * Zeitraum / Ort / Künstler in a readable inline rhythm.
 * ============================================================ */
@media (max-width: 520px){
  /* Titles: never auto-hyphenate into nonsense (e.g. Kunst-.April.-Potpuri) */
  .wes-wrap-events .wes-card-title,
  .wes-wrap-venue .wes-card-title,
  .wes-wrap-venues .wes-card-title,
  .wes-wrap-events .wes-card-title a,
  .wes-wrap-venue .wes-card-title a,
  .wes-wrap-venues .wes-card-title a{
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  /* Meta rows as inline definition list: "Zeitraum: 01.01. …" */
  .wes-wrap-events .wes-meta-row,
  .wes-wrap-venue .wes-meta-row,
  .wes-wrap-venues .wes-meta-row{
    display:block !important;
    grid-template-columns: none !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    gap: 0 !important;
  }

  .wes-wrap-events .wes-meta-k,
  .wes-wrap-venue .wes-meta-k,
  .wes-wrap-venues .wes-meta-k{
    display:inline !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    letter-spacing: .02em !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: rgba(0,0,0,.62) !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .wes-wrap-events .wes-meta-k::after,
  .wes-wrap-venue .wes-meta-k::after,
  .wes-wrap-venues .wes-meta-k::after{
    content: ": ";
    letter-spacing: 0;
    font-weight: 700;
  }

  .wes-wrap-events .wes-meta-v,
  .wes-wrap-venue .wes-meta-v,
  .wes-wrap-venues .wes-meta-v{
    display:inline !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  /* Ensure each row gets its own line */
  .wes-wrap-events .wes-meta-row + .wes-meta-row,
  .wes-wrap-venue .wes-meta-row + .wes-meta-row,
  .wes-wrap-venues .wes-meta-row + .wes-meta-row{
    margin-top: 8px;
  }

  /* Artists in cards: inline names (comma-separated), not big pills */
  .wes-wrap-events .wes-meta-row--artists .wes-artists,
  .wes-wrap-venue .wes-meta-row--artists .wes-artists,
  .wes-wrap-venues .wes-meta-row--artists .wes-artists{
    display:inline !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  .wes-wrap-events .wes-meta-row--artists .wes-artists .wes-chip,
  .wes-wrap-venue .wes-meta-row--artists .wes-artists .wes-chip,
  .wes-wrap-venues .wes-meta-row--artists .wes-artists .wes-chip{
    display:inline !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    color: rgba(0,0,0,.86) !important;
  }
  .wes-wrap-events .wes-meta-row--artists .wes-artists .wes-chip::after,
  .wes-wrap-venue .wes-meta-row--artists .wes-artists .wes-chip::after,
  .wes-wrap-venues .wes-meta-row--artists .wes-artists .wes-chip::after{
    content: ", ";
    color: rgba(0,0,0,.45);
    font-weight: 500;
  }
  .wes-wrap-events .wes-meta-row--artists .wes-artists .wes-chip:last-child::after,
  .wes-wrap-venue .wes-meta-row--artists .wes-artists .wes-chip:last-child::after,
  .wes-wrap-venues .wes-meta-row--artists .wes-artists .wes-chip:last-child::after{
    content: "";
  }

  /* Keep badges next to the poster in the first line; reduce visual noise */
  .wes-wrap-events .wes-card-badges,
  .wes-wrap-venue .wes-card-badges,
  .wes-wrap-venues .wes-card-badges{
    gap: 8px;
    margin-bottom: 8px;
  }
}


/* Poster Zoom (single event) – 1 click enlarge, 2nd click close */
.wes-poster-zoom{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.wes-poster-zoom.is-open{ display: flex; }
.wes-poster-zoom__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .18s ease;
}
.wes-poster-zoom__img{
  position: relative;
  z-index: 1;
  max-width: min(92vw, 1280px);
  max-height: 92vh;
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(0,0,0,.45);
  transform: scale(.96);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
  background: rgba(255,255,255,.02);
}
.wes-poster-zoom.is-visible .wes-poster-zoom__backdrop{ opacity: 1; }
.wes-poster-zoom.is-visible .wes-poster-zoom__img{ opacity: 1; transform: scale(1); }



/* ========================================================================== 
   WES 2026 Polish (Apple-like)
   - one canonical micro-interaction layer
   - exact radii + calm spacing
   - focus rings everywhere
   ========================================================================== */

.wes-wrap{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Interactive focus ring baseline */
.wes-wrap :where(a.wes-btn, button.wes-btn, a.wes-chip, button.wes-chip, a.wes-tab, button.wes-tab):focus-visible{
  outline: none;
  box-shadow: var(--wes-ring-green);
}

/* Card focus (keyboard) */
.wes-card[data-href]:focus-visible{
  outline: none;
  box-shadow: var(--wes-ring-green), var(--wes-shadow-hover);
}

/* Buttons: unify variants (support both naming schemes) */
.wes-btn{
  transition:
    transform var(--wes-dur-2) var(--wes-ease-out),
    box-shadow var(--wes-dur-2) var(--wes-ease-out),
    border-color var(--wes-dur-2) var(--wes-ease-out),
    background var(--wes-dur-2) var(--wes-ease-out),
    filter var(--wes-dur-2) var(--wes-ease-out);
}
@media (hover:hover){
  .wes-btn:hover{ transform: translateY(-1px); }
}
.wes-btn:active{ transform: translateY(0) scale(.985); }

/* Secondary / Ghost mapping */
.wes-btn.is-secondary,
.wes-btn--secondary{
  background: rgba(255,255,255,.74);
  border-color: rgba(0,0,0,.10);
  color: rgba(18,18,18,.88);
}
@media (hover:hover){
  .wes-btn.is-secondary:hover,
  .wes-btn--secondary:hover{ background: rgba(255,255,255,.82); }
}

.wes-btn.is-ghost,
.wes-btn--ghost{
  background: rgba(217,122,43,.10);
  border-color: rgba(217,122,43,.22);
  color: rgba(120,60,10,.95);
}
@media (hover:hover){
  .wes-btn.is-ghost:hover,
  .wes-btn--ghost:hover{ background: rgba(217,122,43,.14); }
}

/* Chips: base neutral; filter chips keep green tint */
.wes-chip{
  min-height: 34px;
  border-radius: 999px;
}

/* Neutral chips (profiles, single event artist chips) */
.wes-artist-chips .wes-chip,
.wes-artists .wes-chip,
.wes-meta .wes-chip,
.wes-hero-meta .wes-chip{
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.10);
  color: rgba(18,18,18,.84);
}

/* Filter chips (years/status) */
.wes-filter .wes-chip{
  background: rgba(15,122,76,.08);
  border-color: rgba(15,122,76,.18);
  color: var(--wes-green-2);
}

.wes-chip.is-active{ box-shadow: 0 10px 24px rgba(15,122,76,.12); }

/* Reveal: slightly snappier on modern devices */
.wes-reveal{
  transition: opacity var(--wes-dur-3) var(--wes-ease-out),
              transform var(--wes-dur-3) var(--wes-ease-out);
}

@media (prefers-reduced-motion: reduce){
  .wes-wrap *{ scroll-behavior: auto !important; }
  .wes-wrap :where(.wes-btn,.wes-chip,.wes-tab,.wes-card,.wes-reveal,.wes-search-clear){
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* ------------------------------
   Breadcrumbs (visible)
   - small, calm, Apple-like
------------------------------ */
.wes-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:13px;
  line-height:1.3;
  color:var(--wes-muted,#6b7280);
  margin:0 0 10px;
}
.wes-breadcrumbs a{
  color:inherit;
  text-decoration:none;
}
.wes-breadcrumbs a:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
.wes-breadcrumbs__sep{opacity:.65;}
.wes-breadcrumbs__current{color:var(--wes-fg,#111827); opacity:.85;}

/* ------------------------------
   Membership form
------------------------------ */
.wes-membership{margin:22px 0;}
.wes-membership__inner{
  max-width:760px;
  margin:0 auto;
  padding:18px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(16px);
}
.wes-membership__title{margin:0 0 6px;}
.wes-membership__hint{margin:0 0 14px; color:var(--wes-muted,#6b7280);}

.wes-form__grid{display:grid; grid-template-columns:1fr; gap:12px;}
@media (min-width:720px){.wes-form__grid{grid-template-columns:1fr 1fr;}}
.wes-form__row{margin:0 0 12px;}
.wes-form__label{display:block; font-size:13px; font-weight:600; margin:0 0 6px;}
.wes-form__input,.wes-form__textarea{
  width:100%;
  border:1px solid rgba(0,0,0,.14);
  border-radius:12px;
  padding:12px 12px;
  font-size:16px;
  line-height:1.35;
  background:#fff;
}
.wes-form__textarea{resize:vertical; min-height:130px;}
.wes-form__row--check{margin-top:4px;}
.wes-form__check{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--wes-muted,#6b7280);} 
.wes-form__check input{margin-top:3px;}
.wes-form__actions{margin-top:12px; display:flex; gap:10px; flex-wrap:wrap;}

.wes-notice{padding:10px 12px; border-radius:12px; margin:0 0 12px; font-size:14px;}
.wes-notice--ok{background:rgba(15,122,76,.10); border:1px solid rgba(15,122,76,.25);} 
.wes-notice--err{background:rgba(220,38,38,.08); border:1px solid rgba(220,38,38,.20);} 

/* =====================
   3.7.5 – Artist Longform Width = Hero Width
   Goal: Text sections (CV / Über / Kunsthistorische Betrachtung / Ausstellungen) should be as wide as the Hero card.
   Strategy:
   - Use the same inner padding as the Hero grid
   - Remove any remaining max-width constraints (theme overrides, 88ch measure, etc.)
   - Keep readability via line-height + hyphenation (already applied)
===================== */

.wes-artist-editorial .wes-section__inner{
  padding-inline: clamp(18px,2.8vw,28px) !important;
}

/* Soft sections keep their softer padding but must not re-constrain width */
.wes-artist-editorial .wes-section--soft .wes-section__inner{
  padding-inline: clamp(14px,2.4vw,22px) !important;
}

.wes-artist-editorial .wes-measure,
.wes-artist-editorial .wes-prose-wrap,
.wes-artist-editorial .wes-prose{
  max-width: none !important;
  width: 100% !important;
  margin-inline: 0 !important;
}

/* Guard against theme rules that constrain individual paragraphs/lists */
.wes-artist-editorial .wes-prose :where(p,ul,ol,li,blockquote,figure){
  max-width: none !important;
}

/* Random gallery: lightweight placeholder to avoid layout shift when content loads via AJAX */
.wes-random-gallery-placeholder{
  width: 100%;
  min-height: 320px;
  border-radius: 22px;
  background: rgba(0,0,0,.035);
}

@media (min-width: 900px){
  .wes-random-gallery-placeholder{ min-height: 260px; }
}


/* =====================
   Artist sticky shell + smooth collapse refinements (3.10.46)
===================== */
.wes-artist-hero-shell{
  position: relative;
  min-height: var(--wes-artist-hero-shell-height, auto);
  margin-bottom: clamp(18px,3vw,30px);
}

.wes-artist-hero-shell + .wes-artist-body{
  margin-top: 0;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero{
  margin-bottom: 0;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero__grid{
  gap: calc(clamp(16px,2.6vw,28px) - (10px * var(--wes-artist-collapse)));
  padding-top: calc(clamp(18px,2.8vw,28px) - (12px * var(--wes-artist-collapse)));
  padding-right: calc(clamp(18px,2.8vw,28px) - (10px * var(--wes-artist-collapse)));
  padding-bottom: calc(clamp(18px,2.8vw,28px) - (14px * var(--wes-artist-collapse)));
  padding-left: calc(clamp(18px,2.8vw,28px) - (10px * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-kicker,
.wes-artist-editorial.has-artist-tabs .wes-breadcrumbs,
.wes-artist-editorial.has-artist-tabs .wes-artist-lead,
.wes-artist-editorial.has-artist-tabs .wes-artist-lifedates,
.wes-artist-editorial.has-artist-tabs .wes-artist-chips,
.wes-artist-editorial.has-artist-tabs .wes-artist-contact{
  opacity: calc(1 - min(1, var(--wes-artist-collapse) * 1.55));
  transform: translateY(calc(-8px * var(--wes-artist-collapse)));
  max-height: calc(140px * (1 - min(1, var(--wes-artist-collapse) * 1.1)));
  overflow: hidden;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-portrait{
  transform-origin: top left;
  transform: scale(calc(1 - (0.34 * var(--wes-artist-collapse))));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-title{
  transform-origin: left top;
  transform: scale(calc(1 - (0.14 * var(--wes-artist-collapse))));
  margin-bottom: calc(2px - (2px * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-ctas{
  gap: calc(10px - (3px * var(--wes-artist-collapse)));
  margin-top: calc(18px - (10px * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-btn{
  min-height: calc(44px - (8px * var(--wes-artist-collapse)));
  padding: calc(10px - (2px * var(--wes-artist-collapse))) calc(14px - (2px * var(--wes-artist-collapse)));
  border-radius: calc(14px - (2px * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-tabs{
  padding-bottom: calc(16px - (8px * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-tab{
  min-height: calc(44px - (7px * var(--wes-artist-collapse)));
  padding: calc(11px - (2px * var(--wes-artist-collapse))) calc(18px - (4px * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
  align-items: center;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-title{
  transform: none;
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-kicker,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-breadcrumbs,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-lead,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-lifedates,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-chips,
.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-contact{
  pointer-events: none;
}

@media (max-width: 900px){
  .wes-artist-editorial.has-artist-tabs .wes-artist-title{
    transform: none;
    font-size: clamp(22px, calc(28px - (6px * var(--wes-artist-collapse))), 28px);
    line-height: 1.04;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait{
    transform: scale(calc(1 - (0.46 * var(--wes-artist-collapse))));
  }
}

@media (max-width: 520px){
  .wes-artist-hero-shell{
    margin-bottom: 20px;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero{
    border-radius: 22px;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero__grid{
    padding-top: calc(16px - (8px * var(--wes-artist-collapse)));
    padding-right: calc(16px - (8px * var(--wes-artist-collapse)));
    padding-bottom: calc(16px - (10px * var(--wes-artist-collapse)));
    padding-left: calc(16px - (8px * var(--wes-artist-collapse)));
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-kicker{
    letter-spacing: .10em;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-ctas{
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-bottom: 1px;
  }
  .wes-artist-editorial.has-artist-tabs .wes-artist-ctas::-webkit-scrollbar{ display:none; }
  .wes-artist-editorial.has-artist-tabs .wes-btn{ flex: 0 0 auto; white-space: nowrap; }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
    grid-template-columns: 52px minmax(0,1fr);
    gap: 8px;
    align-items: start;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__media{
    width: 52px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-portrait{
    border-radius: 12px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-title{
    font-size: 18px;
    line-height: 1.02;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas{
    margin-top: 4px;
    gap: 6px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-btn{
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-tabs{
    padding: 0 8px 8px;
  }
}


/* =====================
   Artist sticky shell – liquid-glass snap polish (3.10.49)
===================== */
.wes-artist-editorial{
  --wes-artist-glass-shadow-open: 0 20px 60px rgba(0,0,0,.10);
  --wes-artist-glass-shadow-closed: 0 16px 44px rgba(0,0,0,.14);
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero{
  position: sticky;
  isolation: isolate;
  overflow: clip;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(247,249,248,.74));
  border-color: rgba(255,255,255,.52);
  box-shadow: var(--wes-artist-glass-shadow-open), inset 0 1px 0 rgba(255,255,255,.42);
  backdrop-filter: blur(18px) saturate(1.04);
  -webkit-backdrop-filter: blur(18px) saturate(1.04);
  transition:
    box-shadow .46s cubic-bezier(.16,1,.3,1),
    border-color .46s cubic-bezier(.16,1,.3,1),
    background .46s cubic-bezier(.16,1,.3,1),
    transform .46s cubic-bezier(.16,1,.3,1),
    border-radius .46s cubic-bezier(.16,1,.3,1),
    backdrop-filter .46s cubic-bezier(.16,1,.3,1),
    -webkit-backdrop-filter .46s cubic-bezier(.16,1,.3,1);
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero::before,
.wes-artist-editorial.has-artist-tabs .wes-artist-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero::before{
  z-index:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.50), rgba(255,255,255,.08) 42%, rgba(255,255,255,.14));
  opacity: calc(.76 + (.18 * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero::after{
  z-index:0;
  inset: 1px;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.18);
  opacity: calc(.52 + (.18 * var(--wes-artist-collapse)));
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero > *{
  position: relative;
  z-index: 1;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero__media,
.wes-artist-editorial.has-artist-tabs .wes-artist-portrait,
.wes-artist-editorial.has-artist-tabs .wes-artist-portrait img{
  max-width: 100%;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-portrait{
  overflow: hidden;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-portrait img{
  object-position: center top;
}

.wes-artist-editorial.has-artist-tabs .wes-artist-hero__grid{
  transition:
    gap .46s cubic-bezier(.16,1,.3,1),
    padding .46s cubic-bezier(.16,1,.3,1);
}

.wes-artist-editorial.has-artist-tabs .wes-artist-title,
.wes-artist-editorial.has-artist-tabs .wes-artist-ctas,
.wes-artist-editorial.has-artist-tabs .wes-artist-tabs,
.wes-artist-editorial.has-artist-tabs .wes-artist-portrait,
.wes-artist-editorial.has-artist-tabs .wes-breadcrumbs,
.wes-artist-editorial.has-artist-tabs .wes-artist-kicker,
.wes-artist-editorial.has-artist-tabs .wes-artist-lifedates,
.wes-artist-editorial.has-artist-tabs .wes-artist-lead,
.wes-artist-editorial.has-artist-tabs .wes-artist-chips,
.wes-artist-editorial.has-artist-tabs .wes-artist-contact{
  transition-timing-function: cubic-bezier(.16,1,.3,1);
}

.wes-artist-editorial.has-artist-tabs.is-snap-open .wes-artist-hero{
  transform: translateY(0) scale(1);
}

.wes-artist-editorial.has-artist-tabs.is-snap-closed .wes-artist-hero{
  transform: translateY(-1px) scale(.998);
  box-shadow: var(--wes-artist-glass-shadow-closed), inset 0 1px 0 rgba(255,255,255,.48);
}

.wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero{
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(244,247,246,.64));
  border-color: rgba(255,255,255,.62);
  backdrop-filter: blur(20px) saturate(1.06);
  -webkit-backdrop-filter: blur(20px) saturate(1.06);
}

@media (max-width: 900px){
  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
    align-items: center;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__content{
    min-width: 0;
  }
}

@media (max-width: 520px){
  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__grid{
    grid-template-columns: 50px minmax(0,1fr);
    gap: 10px;
    padding: 10px 10px 8px;
    align-items: start;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__content{
    display: contents;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-hero__media{
    width: 50px;
    grid-column: 1;
    grid-row: 1;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-portrait{
    aspect-ratio: 1 / 1;
    border-radius: 14px;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-title{
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    align-self: center;
    font-size: 18px;
    line-height: 1.02;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas{
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 8px;
    padding-bottom: 1px;
    gap: 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 2px;
  }
  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-ctas::-webkit-scrollbar{ display:none; }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-btn{
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 11px;
    font-size: 12px;
    white-space: nowrap;
    scroll-snap-align: start;
  }

  .wes-artist-editorial.has-artist-tabs.is-compact .wes-artist-tabs{
    padding: 0 10px 10px;
  }
}

/* =====================
   Artist mobile compact bar (3.10.50)
   - replaces jumpy mobile sticky morph with a single calm compact glass bar
   - desktop logic stays intact
===================== */
.wes-artist-mobile-compact{ display:none; }

@media (max-width: 767px){
  .wes-artist-editorial{
    --wes-artist-mobile-progress: 0;
  }

  .wes-artist-hero-shell{
    min-height: 0 !important;
    margin-bottom: 18px;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero{
    position: relative;
    top: auto;
    transform: translateZ(0);
    overflow: hidden;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero__media{
    overflow: hidden;
    border-radius: 22px;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait,
  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait img{
    width: 100%;
    max-width: 100%;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait{
    overflow: hidden;
    transform: translateZ(0);
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait img{
    display: block;
    object-fit: cover;
    object-position: center top;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-tabs{
    transition: opacity .34s cubic-bezier(.16,1,.3,1), transform .42s cubic-bezier(.16,1,.3,1);
  }

  .wes-artist-editorial.is-mobile-compact-visible .wes-artist-hero .wes-artist-tabs{
    opacity: .04;
    transform: translateY(-10px) scale(.985);
    pointer-events: none;
  }

  .wes-artist-mobile-compact{
    display: block;
    position: fixed;
    top: calc(var(--wes-artist-sticky-top, 8px) + env(safe-area-inset-top, 0px) + 8px);
    left: max(12px, calc(env(safe-area-inset-left, 0px) + 12px));
    right: max(12px, calc(env(safe-area-inset-right, 0px) + 12px));
    z-index: 36;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-18px) scale(.972);
    transition:
      opacity .28s cubic-bezier(.16,1,.3,1),
      transform .46s cubic-bezier(.16,1,.3,1),
      visibility 0s linear .28s;
  }

  .wes-artist-editorial.is-mobile-compact-visible .wes-artist-mobile-compact{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
  }

  .wes-artist-mobile-compact__inner{
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.48);
    background:
      radial-gradient(120% 84% at 0% 0%, rgba(255,255,255,.30), transparent 58%),
      linear-gradient(180deg, rgba(255,255,255,.84), rgba(245,248,247,.72));
    box-shadow:
      0 18px 44px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.55),
      inset 0 -1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(22px) saturate(1.08);
    -webkit-backdrop-filter: blur(22px) saturate(1.08);
  }

  .wes-artist-editorial.is-mobile-compact-visible .wes-artist-mobile-compact__inner{
    animation: wes-mobile-compact-settle .46s cubic-bezier(.16,1,.3,1);
  }

  @keyframes wes-mobile-compact-settle{
    0%{ transform: translateY(-8px) scale(.986); }
    70%{ transform: translateY(1px) scale(1.003); }
    100%{ transform: translateY(0) scale(1); }
  }

  .wes-artist-mobile-compact__top{
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px 8px;
  }

  .wes-artist-mobile-compact__media{
    width: 54px;
  }

  .wes-artist-portrait--compact-bar{
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(0,0,0,.10);
  }

  .wes-artist-mobile-compact__main{
    min-width: 0;
  }

  .wes-artist-mobile-compact__title{
    margin: 0;
    font-size: 17px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: rgba(11,15,13,.94);
  }

  .wes-artist-mobile-compact__ctas{
    margin-top: 8px;
    gap: 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    padding-bottom: 1px;
  }
  .wes-artist-mobile-compact__ctas::-webkit-scrollbar{ display:none; }

  .wes-artist-mobile-compact__ctas .wes-btn{
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 12px;
    font-size: 12px;
    white-space: nowrap;
    scroll-snap-align: start;
  }

  .wes-artist-mobile-compact__tabs{
    position: relative;
    gap: 8px;
    padding: 10px 12px 12px;
    margin-top: 0;
  }

  .wes-artist-mobile-compact__tabs::before{
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(11,15,13,.08), rgba(11,15,13,.04) 32%, rgba(11,15,13,.08) 72%, rgba(11,15,13,.03));
  }

  .wes-artist-mobile-compact__tabs .wes-artist-tab{
    flex: 1 1 0;
    min-height: 40px;
    padding: 9px 12px;
    font-size: 13px;
    box-shadow: none;
    background: rgba(255,255,255,.62);
  }

  .wes-artist-mobile-compact__tabs .wes-artist-tab.is-active,
  .wes-artist-mobile-compact__tabs .wes-artist-tab[aria-selected="true"]{
    background: rgba(15,107,58,.10);
  }
}


/* =====================
   Artist mobile motion system (3.10.51)
   - one shared compact glass bar
   - progress-driven morph instead of crossfade
   - mobile only; desktop logic above stays unchanged
===================== */
.wes-artist-mobile-morph{ display:none; }

@media (max-width: 767px){
  .wes-artist-editorial.has-artist-tabs{
    --wes-artist-mobile-progress: 0;
    --wes-artist-mobile-shell-opacity: clamp(0, calc((var(--wes-artist-mobile-progress) * 1.18) - .08), 1);
    --wes-artist-mobile-shell-shift: calc((1 - var(--wes-artist-mobile-progress)) * -16px);
    --wes-artist-mobile-shell-scale: calc(.982 + (var(--wes-artist-mobile-progress) * .018));
  }

  .wes-artist-hero-shell{
    min-height: 0 !important;
    margin-bottom: 18px;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero{
    position: relative;
    top: auto;
    transform: translate3d(0, calc(-2px * var(--wes-artist-mobile-progress)), 0);
    border-radius: 26px;
    overflow: hidden;
    transition: box-shadow .22s ease, transform .22s ease;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-hero__media{
    overflow: hidden;
    border-radius: 22px;
    transform: translateZ(0);
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait{
    overflow: hidden;
    transform: translateZ(0);
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-portrait img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transform: scale(calc(1 - (.045 * var(--wes-artist-mobile-progress))));
    transform-origin: center top;
  }

  .wes-artist-editorial.has-artist-tabs .wes-breadcrumbs,
  .wes-artist-editorial.has-artist-tabs .wes-artist-kicker,
  .wes-artist-editorial.has-artist-tabs .wes-artist-lifedates,
  .wes-artist-editorial.has-artist-tabs .wes-artist-chips,
  .wes-artist-editorial.has-artist-tabs .wes-artist-contact,
  .wes-artist-editorial.has-artist-tabs .wes-artist-lead{
    opacity: calc(1 - clamp(0, calc(var(--wes-artist-mobile-progress) * 1.75), 1));
    transform: translate3d(0, calc(-10px * var(--wes-artist-mobile-progress)), 0);
    max-height: calc(140px * (1 - clamp(0, calc(var(--wes-artist-mobile-progress) * 1.45), 1)));
    overflow: hidden;
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-ctas{
    gap: calc(10px - (2px * var(--wes-artist-mobile-progress)));
    margin-top: calc(18px - (10px * var(--wes-artist-mobile-progress)));
  }

  .wes-artist-editorial.has-artist-tabs .wes-artist-tabs{
    padding-bottom: calc(16px - (8px * var(--wes-artist-mobile-progress)));
  }

  .wes-artist-mobile-compact{
    display: block;
    position: fixed;
    top: calc(var(--wes-artist-mobile-top, var(--wes-artist-sticky-top, 8px)) + env(safe-area-inset-top, 0px));
    left: max(12px, calc(env(safe-area-inset-left, 0px) + 12px));
    right: max(12px, calc(env(safe-area-inset-right, 0px) + 12px));
    z-index: 36;
    opacity: var(--wes-artist-mobile-shell-opacity);
    pointer-events: none;
    transform: translate3d(0, var(--wes-artist-mobile-shell-shift), 0) scale(var(--wes-artist-mobile-shell-scale));
    transform-origin: top center;
    will-change: transform, opacity;
  }

  .wes-artist-editorial.is-mobile-compact-active .wes-artist-mobile-compact{
    pointer-events: auto;
  }

  .wes-artist-mobile-compact__inner{
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.50);
    background:
      radial-gradient(120% 84% at 0% 0%, rgba(255,255,255,.28), transparent 58%),
      linear-gradient(180deg, rgba(255,255,255,.84), rgba(244,247,246,.74));
    box-shadow:
      0 20px 54px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.56),
      inset 0 -1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(22px) saturate(1.06);
    -webkit-backdrop-filter: blur(22px) saturate(1.06);
    transition: box-shadow .18s ease, transform .18s ease;
  }

  .wes-artist-editorial.is-mobile-settle-closed .wes-artist-mobile-compact__inner{
    animation: wes-mobile-shell-settle-in .18s cubic-bezier(.22,.8,.18,1);
  }

  .wes-artist-editorial.is-mobile-settle-open .wes-artist-hero{
    animation: wes-mobile-shell-settle-open .18s cubic-bezier(.22,.8,.18,1);
  }

  @keyframes wes-mobile-shell-settle-in{
    0%{ transform: translate3d(0,-5px,0) scale(.992); }
    100%{ transform: translate3d(0,0,0) scale(1); }
  }

  @keyframes wes-mobile-shell-settle-open{
    0%{ transform: translate3d(0,-1px,0) scale(.998); }
    100%{ transform: translate3d(0,0,0) scale(1); }
  }

  .wes-artist-mobile-compact__top{
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px 8px;
  }

  .wes-artist-mobile-compact__media{ width: 52px; }

  .wes-artist-portrait--compact-bar{
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(0,0,0,.10);
  }

  .wes-artist-mobile-compact__title{
    margin: 0;
    min-width: 0;
    font-size: 17px;
    line-height: 1.03;
    font-weight: 800;
    letter-spacing: -.03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: rgba(11,15,13,.95);
  }

  .wes-artist-mobile-compact__ctas{
    margin-top: 8px;
    gap: 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 1px;
  }
  .wes-artist-mobile-compact__ctas::-webkit-scrollbar{ display:none; }

  .wes-artist-mobile-compact__ctas .wes-btn{
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 12px;
    font-size: 12px;
    white-space: nowrap;
  }

  .wes-artist-mobile-compact__tabs{
    position: relative;
    gap: 8px;
    padding: 10px 12px 12px;
    margin-top: 0;
  }

  .wes-artist-mobile-compact__tabs::before{
    content: '';
    position: absolute;
    left: 12px;
    right: 12px;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(11,15,13,.08), rgba(11,15,13,.03) 32%, rgba(11,15,13,.08) 72%, rgba(11,15,13,.03));
  }

  .wes-artist-mobile-compact__tabs .wes-artist-tab{
    flex: 1 1 0;
    min-height: 40px;
    padding: 9px 12px;
    font-size: 13px;
    background: rgba(255,255,255,.62);
    box-shadow: none;
  }

  .wes-artist-mobile-compact__tabs .wes-artist-tab.is-active,
  .wes-artist-mobile-compact__tabs .wes-artist-tab[aria-selected="true"]{
    background: rgba(15,107,58,.10);
  }

  .wes-artist-mobile-morph{
    display: block;
    position: fixed;
    inset: 0;
    z-index: 37;
    pointer-events: none;
    opacity: 0;
  }

  .wes-artist-mobile-morph__item{
    position: fixed;
    left: 0;
    top: 0;
    transform-origin: 0 0;
    margin: 0;
    opacity: 0;
    will-change: transform, opacity;
    backface-visibility: hidden;
  }

  .wes-artist-mobile-morph__item .wes-artist-ctas,
  .wes-artist-mobile-morph__item .wes-artist-tabs,
  .wes-artist-mobile-morph__item .wes-artist-title,
  .wes-artist-mobile-morph__item .wes-artist-portrait{
    margin: 0;
  }

  .wes-artist-editorial.has-artist-tabs [data-wes-shared-target]{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility 0s linear .16s;
  }

  .wes-artist-editorial.has-artist-tabs.is-mobile-compact-active [data-wes-shared-target]{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .wes-artist-editorial.has-artist-tabs.is-mobile-morphing [data-wes-shared-source],
  .wes-artist-editorial.has-artist-tabs.is-mobile-morphing [data-wes-shared-target]{
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .wes-artist-editorial.has-artist-tabs.is-mobile-compact-active:not(.is-mobile-morphing) [data-wes-shared-source]{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

/* === 3.12.0 gallery-worthy lightbox panel === */
.wes-lightbox-meta{
  width:min(840px, 92vw);
  max-width:min(840px, 92vw);
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.96);
  text-align:left;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.wes-lightbox-meta__head{display:flex;justify-content:flex-end;margin-bottom:8px}
.wes-lightbox-meta__count{
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.82;
}
.wes-lightbox-meta__body{display:grid;gap:6px}
.wes-lightbox-meta__title{font-size:18px;line-height:1.3;font-weight:700;color:#fff}
.wes-lightbox-meta__sub,
.wes-lightbox-meta__spec,
.wes-lightbox-meta__desc,
.wes-lightbox-meta__credit,
.wes-lightbox-meta__inventory{font-size:14px;line-height:1.55;color:rgba(255,255,255,.88)}
.wes-lightbox-meta__desc{margin-top:2px}
.wes-lightbox-meta__market{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:6px}
.wes-lightbox-meta__price{font-size:14px;font-weight:600;color:#fff}
.wes-lightbox-meta__cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:13px;font-weight:600}
.wes-lightbox-meta__cta:hover{background:rgba(255,255,255,.18);color:#fff}
.wes-lightbox-meta__body [hidden]{display:none !important}
@media (max-width: 782px){
  .wes-lightbox-meta{padding:14px 14px 16px;border-radius:20px}
  .wes-lightbox-meta__title{font-size:16px}
  .wes-lightbox-meta__sub,
  .wes-lightbox-meta__spec,
  .wes-lightbox-meta__desc,
  .wes-lightbox-meta__credit,
  .wes-lightbox-meta__inventory,
  .wes-lightbox-meta__price{font-size:13px}
  .wes-lightbox-meta__market{align-items:flex-start}
}


/* === 3.12.1 museum lightbox layout refinement === */
.wes-lightbox-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  overflow:auto;
}

.wes-lightbox-figure{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.wes-lightbox-img{
  max-width:min(1400px, 94vw);
  max-height:min(72vh, calc(100vh - 260px));
}


.wes-lightbox-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  min-height:38px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(16,20,28,.10);
  color:rgba(56,66,78,.88);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:13px;
  line-height:1;
}
.wes-lightbox-counter.is-hidden{display:none}

.wes-lightbox-meta{
  position:static;
  left:auto;
  bottom:auto;
  transform:none;
  width:min(860px, 92vw);
  max-width:min(860px, 92vw);
  padding:16px 18px;
  border-radius:22px;
  display:block;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(16,20,28,.10);
  color:rgba(16,20,28,.94);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  text-align:left;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.wes-lightbox-meta__title{color:rgba(16,20,28,.96)}
.wes-lightbox-meta__sub,
.wes-lightbox-meta__spec,
.wes-lightbox-meta__desc,
.wes-lightbox-meta__credit,
.wes-lightbox-meta__inventory{color:rgba(56,66,78,.92)}
.wes-lightbox-meta__price{color:rgba(16,20,28,.94)}
.wes-lightbox-meta__cta{border-color:rgba(16,20,28,.12);background:rgba(16,20,28,.04);color:rgba(16,20,28,.94)}
.wes-lightbox-meta__cta:hover{background:rgba(16,20,28,.08);color:rgba(16,20,28,.98)}
.wes-lightbox-meta__head{justify-content:flex-start}
.wes-lightbox-meta__count{opacity:.72;color:rgba(56,66,78,.88)}

.wes-lightbox--gallery .wes-lightbox-thumbs,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
  position:static;
  left:auto;
  bottom:auto;
  transform:none;
  max-width:min(860px, 92vw);
  width:max-content;
  max-width:min(860px, 92vw);
  margin:2px auto 0;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(16,20,28,.10);
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}


@media (max-width: 900px){
  .wes-lightbox-img{max-height:min(62vh, calc(100vh - 250px));}
  .wes-lightbox-meta{width:min(92vw, 92vw);padding:14px 14px 16px;border-radius:20px}
}

@media (max-width: 720px){
  .wes-lightbox-inner{gap:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .wes-lightbox-img{max-width:min(96vw, 96vw);max-height:min(58vh, calc(100vh - 230px));}
  .wes-lightbox-meta{padding:12px 12px 14px;border-radius:18px}
}


.wb-event-location{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.wb-event-location__label{
  font-size:.82rem;
  color:rgba(0,0,0,.58);
}

.wb-event-location__name{
  font-size:1rem;
  line-height:1.3;
}

.wb-event-location__name a{
  color:inherit;
  text-decoration:none;
}

.wb-event-location__name a:hover,
.wb-event-location__name a:focus{
  text-decoration:underline;
}

.wb-event-location__address{
  color:rgba(0,0,0,.72);
  line-height:1.45;
}

.wb-event-location__map{
  margin-top:2px;
  font-size:.92rem;
}


/* 3.14.2 — Event single: compact hero to reduce perceived white space before the first section */
.single-werkbund_event .wes-single-hero{
  padding: clamp(14px, 2.2vw, 26px) 0 8px;
}
.single-werkbund_event .wes-single-hero-inner{
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.single-werkbund_event .wes-single-poster{
  width: 100%;
  max-width: 320px;
}
.single-werkbund_event .wes-single-head{
  padding: 4px 2px 0;
}
.single-werkbund_event .wes-single-meta{
  margin: 12px 0 14px 0;
}
.single-werkbund_event .wes-single-actions{
  margin-top: 8px;
}
.single-werkbund_event .wes-share{
  margin-top: 10px;
  padding-top: 10px;
}
.single-werkbund_event .wes-single-section{
  padding-top: 6px;
}
.single-werkbund_event .wes-single-section:first-of-type{
  padding-top: 2px;
}
.single-werkbund_event .wes-h2{
  margin-top: 0;
}
@media (max-width: 900px){
  .single-werkbund_event .wes-single-hero-inner{
    grid-template-columns: 1fr;
  }
  .single-werkbund_event .wes-single-poster{
    max-width: min(100%, 420px);
    margin: 0 auto;
  }
}


/* 3.14.3 — Event single: pull the lead section into the hero flow so the first content block starts immediately below meta/actions instead of after poster height. */
.single-werkbund_event .wes-single-hero-inner{
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 16px 20px;
}
.single-werkbund_event .wes-single-poster{
  max-width: 280px;
}
.single-werkbund_event .wes-single-head{
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.single-werkbund_event .wes-single-lead-section{
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.single-werkbund_event .wes-single-lead-section .wes-h2{
  margin: 0 0 12px;
}
.single-werkbund_event .wes-single-lead-section .wes-content{
  max-width: 100%; /* volle Sektionsbreite, bündig mit Terminen — siehe 3.39.1 */
}
.single-werkbund_event .wes-single-lead-section .wes-content > :first-child{
  margin-top: 0;
}
.single-werkbund_event .wes-single-lead-section .wes-content > :last-child{
  margin-bottom: 0;
}
.single-werkbund_event .wes-single-lead-section .wes-empty{
  grid-column: auto;
}
.single-werkbund_event .wes-single-section:first-of-type{
  padding-top: 0;
}
@media (max-width: 900px){
  .single-werkbund_event .wes-single-hero-inner{
    grid-template-columns: 1fr;
  }
  .single-werkbund_event .wes-single-poster{
    max-width: min(100%, 420px);
  }
  .single-werkbund_event .wes-single-lead-section .wes-content{
    max-width: none;
  }
}



/* === 3.15.12 lightbox split layout: desktop + mobile === */
.wes-lightbox--gallery{
  --wes-lb-panel-w: min(360px, 28vw);
  --wes-lb-figure-w: min(760px, 62vw);
  --wes-lb-gap: clamp(20px, 2.2vw, 34px);
}
.wes-lightbox-inner{
  display:grid;
  grid-template-columns:minmax(360px, min(var(--wes-lb-figure-w), 62vw)) minmax(280px, var(--wes-lb-panel-w));
  grid-template-areas:
    "figure meta"
    "counter meta"
    "thumbs meta";
  align-items:start;
  justify-content:center;
  column-gap:var(--wes-lb-gap);
  row-gap:12px;
  padding:32px 28px;
  padding-top:calc(32px + env(safe-area-inset-top));
  padding-bottom:calc(32px + env(safe-area-inset-bottom));
}
.wes-lightbox-figure{
  grid-area:figure;
  width:min(var(--wes-lb-figure-w), 62vw);
  max-width:min(var(--wes-lb-figure-w), 62vw);
  justify-self:center;
}
.wes-lightbox-img{
  display:block;
  width:auto;
  max-width:min(var(--wes-lb-figure-w), 62vw);
  max-height:min(76vh, calc(100vh - 180px));
  margin:0 auto;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.10);
  border:1px solid rgba(16,20,28,.08);
  background:#fff;
}
.wes-lightbox-meta,
.wes-lightbox-counter,
.wes-lightbox--gallery .wes-lightbox-thumbs,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
  max-width:100%;
}
.wes-lightbox-meta{
  grid-area:meta;
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  align-self:center;
  justify-self:start;
  width:min(var(--wes-lb-panel-w), 28vw);
  min-width:280px;
  padding:24px 24px 22px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(16,20,28,.08);
  box-shadow:0 20px 60px rgba(17,24,39,.08);
  color:rgba(16,20,28,.96);
  text-align:left;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.wes-lightbox-meta__body{display:grid;gap:10px}
.wes-lightbox-meta__title{
  font-size:clamp(30px, 3vw, 42px);
  line-height:.98;
  font-weight:800;
  letter-spacing:-.045em;
  color:rgba(16,20,28,.98);
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.wes-lightbox-meta__sub,
.wes-lightbox-meta__spec,
.wes-lightbox-meta__desc,
.wes-lightbox-meta__credit,
.wes-lightbox-meta__inventory,
.wes-lightbox-meta__price{
  font-size:clamp(15px, 1vw, 17px);
  line-height:1.55;
  color:rgba(59,68,78,.92);
}
.wes-lightbox-meta__sub{margin-top:2px}
.wes-lightbox-meta__spec{font-weight:500}
.wes-lightbox-meta__details{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(16,20,28,.08);
}
.wes-lightbox-meta__details[hidden]{display:none !important}
.wes-lightbox-meta__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  user-select:none;
  list-style:none;
  font-size:14px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  color:rgba(16,20,28,.92);
}
.wes-lightbox-meta__summary::-webkit-details-marker{display:none}
.wes-lightbox-meta__summary::after{
  content:'▾';
  font-size:12px;
  letter-spacing:0;
  transition:transform .18s ease;
}
.wes-lightbox-meta__details[open] .wes-lightbox-meta__summary::after{transform:rotate(180deg)}
.wes-lightbox-meta__details-body{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.wes-lightbox-meta__market{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.wes-lightbox-meta__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(16,20,28,.10);
  background:rgba(16,20,28,.04);
  color:rgba(16,20,28,.94);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.wes-lightbox-meta__cta:hover{background:rgba(16,20,28,.08);color:rgba(16,20,28,.98)}
.wes-lightbox-counter{
  grid-area:counter;
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  justify-self:center;
  display:flex;
  justify-content:center;
  align-items:center;
  width:min(var(--wes-lb-figure-w), 62vw);
  margin:0 auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:rgba(60,70,80,.82);
  font-size:16px;
  line-height:1;
  font-weight:700;
}
.wes-lightbox-counter.is-hidden{display:none}
.wes-lightbox--gallery .wes-lightbox-thumbs,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
  grid-area:thumbs;
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  justify-self:center;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  width:min(var(--wes-lb-figure-w), 62vw);
  margin:0 auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.wes-lightbox--gallery .wes-lightbox-thumbs.is-hidden,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs.is-hidden{display:none}
.wes-lightbox--gallery .wes-lightbox-thumb,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumb{
  width:10px;
  height:10px;
  min-width:10px;
  min-height:10px;
  border-radius:999px;
  border:0;
  padding:0;
  background:rgba(135,146,155,.34);
  box-shadow:none;
}
.wes-lightbox--gallery .wes-lightbox-thumb img,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumb img{display:none}
.wes-lightbox--gallery .wes-lightbox-thumb.is-active,
.wes-lightbox.wes-lightbox--museum .wes-lightbox-thumb.is-active{
  background:rgba(104,137,117,.95);
  box-shadow:0 0 0 6px rgba(104,137,117,.12);
}
.wes-lightbox-nav{
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border:1px solid rgba(16,20,28,.10);
  background:rgba(255,255,255,.90);
  color:rgba(16,20,28,.92);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}
.wes-lightbox-prev{left:calc(50% - var(--wes-lb-gap)/2 - min(var(--wes-lb-figure-w), 62vw)/2 - 26px)}
.wes-lightbox-next{left:calc(50% - var(--wes-lb-gap)/2 + min(var(--wes-lb-figure-w), 62vw)/2 - 28px)}
.wes-lightbox-close{
  border:1px solid rgba(16,20,28,.10);
  background:rgba(255,255,255,.94);
  color:rgba(16,20,28,.92);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
@media (max-width: 900px){
  .wes-lightbox--gallery{
    --wes-lb-figure-w: 92vw;
  }
  .wes-lightbox-inner{
    grid-template-columns:minmax(0, 1fr);
    grid-template-areas:
      "figure"
      "meta"
      "counter"
      "thumbs";
    justify-items:center;
    align-items:start;
    row-gap:12px;
    padding:14px 14px 28px;
    padding-top:calc(14px + env(safe-area-inset-top));
    padding-bottom:calc(28px + env(safe-area-inset-bottom));
  }
  .wes-lightbox-figure{
    width:92vw;
    max-width:92vw;
  }
  .wes-lightbox-img{
    max-width:92vw;
    max-height:min(46vh, calc(100vh - 420px));
    border-radius:24px;
  }
  .wes-lightbox-meta{
    justify-self:center;
    width:92vw;
    min-width:0;
    max-width:92vw;
    padding:18px 18px 16px;
    border-radius:24px;
    box-shadow:0 16px 40px rgba(17,24,39,.07);
  }
  .wes-lightbox-meta__title{
    font-size:clamp(28px, 8.2vw, 48px);
    line-height:.98;
  }
  .wes-lightbox-meta__sub,
  .wes-lightbox-meta__spec,
  .wes-lightbox-meta__desc,
  .wes-lightbox-meta__credit,
  .wes-lightbox-meta__inventory,
  .wes-lightbox-meta__price{
    font-size:clamp(15px, 4.6vw, 17px);
  }
  .wes-lightbox-meta__details{
    margin-top:12px;
    padding-top:12px;
  }
  .wes-lightbox-meta__summary{
    font-size:13px;
  }
  .wes-lightbox-meta__details-body{
    gap:10px;
    max-height:min(22vh, 230px);
    overflow:auto;
    padding-right:4px;
  }
  .wes-lightbox-counter,
  .wes-lightbox--gallery .wes-lightbox-thumbs,
  .wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
    width:92vw;
    max-width:92vw;
  }
  .wes-lightbox-counter{
    order:0;
    font-size:15px;
    margin-top:2px;
  }
  .wes-lightbox--gallery .wes-lightbox-thumbs,
  .wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
    gap:10px;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 10px 0;
    scrollbar-width:none;
  }
  .wes-lightbox--gallery .wes-lightbox-thumbs::-webkit-scrollbar,
  .wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs::-webkit-scrollbar{display:none}
  .wes-lightbox-nav{
    top:auto;
    bottom:calc(16px + env(safe-area-inset-bottom));
    transform:none;
    width:52px;
    height:52px;
  }
  .wes-lightbox-prev{left:calc(50% - 118px)}
  .wes-lightbox-next{left:auto;right:calc(50% - 118px)}
  .wes-lightbox-close{
    width:54px;
    height:54px;
    font-size:28px;
  }
}
@media (max-width: 520px){
  .wes-lightbox-inner{
    row-gap:10px;
    padding-left:10px;
    padding-right:10px;
  }
  .wes-lightbox-figure,
  .wes-lightbox-meta,
  .wes-lightbox-counter,
  .wes-lightbox--gallery .wes-lightbox-thumbs,
  .wes-lightbox.wes-lightbox--museum .wes-lightbox-thumbs{
    width:94vw;
    max-width:94vw;
  }
  .wes-lightbox-img{max-width:94vw;max-height:min(44vh, calc(100vh - 430px));}
  .wes-lightbox-meta{padding:16px 16px 14px;border-radius:22px}
  .wes-lightbox-nav{bottom:calc(14px + env(safe-area-inset-bottom));}
  .wes-lightbox-prev{left:calc(50% - 112px)}
  .wes-lightbox-next{right:calc(50% - 112px)}
}

/* === 3.20.42 Event Gallery Lightbox Redesign ===
 * Scoped event-photo mode. Does not affect artwork/museum lightboxes,
 * Werkbund Gallery, AR or room-view features.
 */
.wes-lightbox.wes-lightbox--event{
  --wes-event-lb-stage-w: min(1560px, calc(100vw - 220px));
  --wes-event-lb-stage-h: min(78dvh, calc(100dvh - 205px));
  color:rgba(17,24,39,.94);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-backdrop{
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.98) 0, rgba(255,255,255,.96) 38%, rgba(246,247,245,.94) 100%),
    linear-gradient(135deg, rgba(104,137,117,.08), rgba(202,112,66,.055));
  backdrop-filter:blur(22px) saturate(1.06);
  -webkit-backdrop-filter:blur(22px) saturate(1.06);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-template-areas:
    "figure"
    "meta"
    "counter"
    "thumbs";
  justify-items:center;
  align-content:center;
  align-items:center;
  gap:clamp(9px, 1.35vh, 16px);
  padding:clamp(34px, 4.2vw, 72px) clamp(24px, 7vw, 118px) clamp(22px, 3.2vw, 48px);
  padding-top:calc(clamp(34px, 4.2vw, 72px) + env(safe-area-inset-top));
  padding-bottom:calc(clamp(22px, 3.2vw, 48px) + env(safe-area-inset-bottom));
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-figure{
  grid-area:figure;
  width:var(--wes-event-lb-stage-w);
  max-width:var(--wes-event-lb-stage-w);
  height:var(--wes-event-lb-stage-h);
  max-height:var(--wes-event-lb-stage-h);
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  margin:0 auto;
  border-radius:clamp(18px, 1.9vw, 30px);
  border:1px solid rgba(16,20,28,.085);
  background:rgba(255,255,255,.72);
  box-shadow:0 30px 90px rgba(15,23,42,.14), 0 8px 22px rgba(15,23,42,.07);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta{
  grid-area:meta;
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  justify-self:center;
  width:min(920px, 72vw);
  min-width:0;
  max-width:min(920px, 72vw);
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(16,20,28,.075);
  background:rgba(255,255,255,.74);
  box-shadow:0 14px 40px rgba(15,23,42,.07);
  color:rgba(40,48,58,.88);
  text-align:center;
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta.is-hidden{display:none !important}
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__body{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__title,
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__credit{
  font-size:clamp(13px, .95vw, 15px);
  line-height:1.4;
  font-weight:600;
  letter-spacing:-.01em;
  color:rgba(40,48,58,.88);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__sub,
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__spec,
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__details,
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__desc,
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__inventory,
.wes-lightbox.wes-lightbox--event .wes-lightbox-meta__market{display:none !important}
.wes-lightbox.wes-lightbox--event .wes-lightbox-counter{
  grid-area:counter;
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  width:auto;
  min-width:0;
  justify-self:center;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  font-size:clamp(13px, 1vw, 15px);
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
  color:rgba(56,65,76,.82);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-counter.is-hidden{display:none !important}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumbs{
  grid-area:thumbs;
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:min(760px, 74vw);
  max-width:min(760px, 74vw);
  margin:0 auto;
  padding:8px 10px;
  border:1px solid rgba(16,20,28,.06);
  border-radius:999px;
  background:rgba(255,255,255,.54);
  box-shadow:0 10px 32px rgba(15,23,42,.055);
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  backdrop-filter:blur(16px) saturate(1.04);
  -webkit-backdrop-filter:blur(16px) saturate(1.04);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumbs::-webkit-scrollbar{display:none}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumbs.is-hidden{display:none !important}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumb{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:58px;
  height:42px;
  min-width:58px;
  min-height:42px;
  padding:0;
  border-radius:13px;
  border:1px solid rgba(16,20,28,.08);
  background:rgba(255,255,255,.64);
  box-shadow:none;
  overflow:hidden;
  cursor:pointer;
  opacity:.58;
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumb img{
  display:block !important;
  width:100%;
  height:100%;
  object-fit:cover;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumb:hover{opacity:.88;transform:translateY(-1px)}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumb.is-active{
  opacity:1;
  border-color:rgba(104,137,117,.55);
  box-shadow:0 0 0 4px rgba(104,137,117,.13), 0 10px 22px rgba(15,23,42,.10);
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-thumb:focus-visible,
.wes-lightbox.wes-lightbox--event .wes-lightbox-nav:focus-visible,
.wes-lightbox.wes-lightbox--event .wes-lightbox-close:focus-visible{
  outline:3px solid rgba(104,137,117,.28);
  outline-offset:3px;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-nav{
  top:50%;
  bottom:auto;
  width:58px;
  height:58px;
  transform:translateY(-50%);
  border:1px solid rgba(16,20,28,.09);
  background:rgba(255,255,255,.74);
  color:rgba(16,20,28,.92);
  box-shadow:0 18px 45px rgba(15,23,42,.10);
  backdrop-filter:blur(18px) saturate(1.04);
  -webkit-backdrop-filter:blur(18px) saturate(1.04);
  font-size:32px;
  font-weight:600;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-nav:hover{background:rgba(255,255,255,.92);box-shadow:0 22px 60px rgba(15,23,42,.13)}
.wes-lightbox.wes-lightbox--event .wes-lightbox-prev{left:clamp(24px, 14vw, 260px);right:auto}
.wes-lightbox.wes-lightbox--event .wes-lightbox-next{right:clamp(24px, 14vw, 260px);left:auto}
.wes-lightbox.wes-lightbox--event .wes-lightbox-prev:hover{transform:translateY(-50%) translateX(-2px)}
.wes-lightbox.wes-lightbox--event .wes-lightbox-next:hover{transform:translateY(-50%) translateX(2px)}
.wes-lightbox.wes-lightbox--event .wes-lightbox-close{
  width:46px;
  height:46px;
  top:calc(16px + env(safe-area-inset-top));
  right:calc(16px + env(safe-area-inset-right));
  border:1px solid rgba(16,20,28,.08);
  background:rgba(255,255,255,.76);
  color:rgba(16,20,28,.92);
  box-shadow:0 14px 36px rgba(15,23,42,.10);
  backdrop-filter:blur(18px) saturate(1.04);
  -webkit-backdrop-filter:blur(18px) saturate(1.04);
  font-size:22px;
  line-height:1;
}
.wes-lightbox.wes-lightbox--event .wes-lightbox-close:hover{background:rgba(255,255,255,.94)}
@media (max-width: 1020px){
  .wes-lightbox.wes-lightbox--event{
    --wes-event-lb-stage-w:calc(100vw - 32px);
    --wes-event-lb-stage-h:min(66dvh, calc(100dvh - 185px));
  }
  .wes-lightbox.wes-lightbox--event .wes-lightbox-inner{
    gap:10px;
    padding:calc(64px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));
  }
  .wes-lightbox.wes-lightbox--event .wes-lightbox-img{border-radius:22px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-meta{width:calc(100vw - 32px);max-width:calc(100vw - 32px);border-radius:20px;padding:9px 13px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-meta__body{display:block}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-meta__title,
  .wes-lightbox.wes-lightbox--event .wes-lightbox-meta__credit{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-thumbs{width:calc(100vw - 32px);max-width:calc(100vw - 32px);justify-content:flex-start;border-radius:18px;padding:7px 8px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-thumb{width:52px;height:38px;min-width:52px;min-height:38px;border-radius:11px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-nav{
    top:auto;
    bottom:calc(18px + env(safe-area-inset-bottom));
    transform:none;
    width:52px;
    height:52px;
    font-size:28px;
  }
  .wes-lightbox.wes-lightbox--event .wes-lightbox-prev{left:calc(50% - 116px);right:auto}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-next{right:calc(50% - 116px);left:auto}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-prev:hover,
  .wes-lightbox.wes-lightbox--event .wes-lightbox-next:hover{transform:none}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-counter{margin-bottom:64px}
}
@media (max-width: 560px){
  .wes-lightbox.wes-lightbox--event{
    --wes-event-lb-stage-w:calc(100vw - 20px);
    --wes-event-lb-stage-h:min(62dvh, calc(100dvh - 178px));
  }
  .wes-lightbox.wes-lightbox--event .wes-lightbox-inner{padding-left:10px;padding-right:10px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-img{border-radius:20px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-thumbs{display:none !important}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-counter{margin-bottom:64px}
  .wes-lightbox.wes-lightbox--event .wes-lightbox-close{width:48px;height:48px;font-size:26px}
}
@media (prefers-reduced-motion: reduce){
  .wes-lightbox.wes-lightbox--event .wes-lightbox-thumb,
  .wes-lightbox.wes-lightbox--event .wes-lightbox-nav{transition:none}
}

/* ── Event pagination ("Mehr anzeigen") — added 3.20.55 ────────────────── */
.wes-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2.5rem 0 1rem;
  padding: 0 1rem;
}
.wes-pagination .wes-btn.is-more {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1.8rem;
  border-radius: 999px;
  background: var(--wb-green, #0f3d2e);
  color: #fff;
  font-weight: 600;
  font-size: .98rem;
  text-decoration: none;
  border: none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  box-shadow: 0 2px 10px rgba(15, 61, 46, .18);
}
.wes-pagination .wes-btn.is-more:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(15, 61, 46, .26);
  background: #0c3325;
}
.wes-pagination .wes-more-count {
  font-weight: 400;
  font-size: .85rem;
  opacity: .8;
}
.wes-pagination--complete {
  margin-top: 1.5rem;
}
.wes-pagination--complete .wes-more-count {
  color: var(--wb-muted, #667085);
  font-size: .85rem;
}

/* Load-more button loading state — 3.20.57 */
.wes-pagination .wes-btn.is-more.is-loading {
  opacity: .7;
  pointer-events: none;
  cursor: wait;
}
.wes-pagination .wes-btn.is-more {
  cursor: pointer;
}

/* ════════════════════════════════════════════════════════════════════════
   Veranstaltung einreichen – geführter Wizard (deppensicher, Apple-like)
   ════════════════════════════════════════════════════════════════════════ */
.wes-wizard { --wes-accent: var(--wb-green, #2f6b40); }

/* Fortschritts-Stepper */
.wes-steps{
  list-style:none; margin:0 0 24px; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
}
.wes-steps__item{
  display:flex; align-items:center; gap:8px;
  font-size:14px; font-weight:600; color:#9aa1ac;
  padding:10px 12px; border-radius:12px;
  border:1px solid rgba(17,24,39,.08); background:#fff;
  cursor:pointer; transition:all .2s ease;
}
.wes-steps__item span{
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; border-radius:50%;
  background:rgba(17,24,39,.08); color:#6b7280;
  font-size:13px; flex:0 0 auto; transition:all .2s ease;
}
.wes-steps__item.is-active{ color:var(--wes-accent); border-color:rgba(47,107,64,.35); background:rgba(47,107,64,.05); }
.wes-steps__item.is-active span{ background:var(--wes-accent); color:#fff; }

/* Schritte */
.wes-step{ display:none; animation:wesFade .25s ease; }
.wes-step.is-active{ display:block; }
@keyframes wesFade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }
.wes-step__title{ margin:0 0 16px; font-size:1.15rem; font-weight:600; color:#1d2127; letter-spacing:-.01em; }

/* Pflicht-Stern + Hinweise + Fehler */
.wes-req{ color:#c0392b; font-weight:700; }
.wes-hint{ margin:6px 0 0; color:#6b7280; font-size:13px; line-height:1.45; }
.wes-err{ display:none; margin:6px 0 0; color:#c0392b; font-size:13px; font-weight:600; }
.wes-form__input.is-invalid{ border-color:#c0392b !important; box-shadow:0 0 0 3px rgba(192,57,43,.08) !important; }

/* Navigation */
.wes-wizard__nav{
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; margin-top:24px; padding-top:18px;
  border-top:1px solid rgba(17,24,39,.08);
}

/* Poster-Upload */
.wes-upload__input{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.wes-upload__drop{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; text-align:center; cursor:pointer;
  padding:28px 18px; border:2px dashed rgba(47,107,64,.3); border-radius:16px;
  background:rgba(47,107,64,.03); transition:all .2s ease;
}
.wes-upload__drop:hover, .wes-upload__drop.is-drag{ border-color:var(--wes-accent); background:rgba(47,107,64,.07); }
.wes-upload__icon{ font-size:28px; color:var(--wes-accent); line-height:1; }
.wes-upload__text{ font-weight:600; color:#1d2127; }
.wes-upload__sub{ font-size:12px; color:#6b7280; }
.wes-upload__preview{ display:flex; gap:16px; align-items:center; padding:12px; border:1px solid rgba(17,24,39,.1); border-radius:16px; background:#fff; }
.wes-upload__preview img{ width:90px; height:90px; object-fit:cover; border-radius:12px; flex:0 0 auto; }
.wes-upload__meta{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.wes-upload__meta strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wes-upload__meta span{ color:#6b7280; font-size:13px; }

/* Laufzeit */
.wes-daterange{ display:flex; align-items:flex-end; gap:14px; }
.wes-daterange > div{ flex:1; }
.wes-daterange__sep{ color:#9aa1ac; padding-bottom:22px; }

/* Termine */
.wes-dates{ border:1px solid rgba(17,24,39,.1); border-radius:16px; padding:14px; }
.wes-dates-row{
  display:grid; grid-template-columns:1.1fr 1.1fr .9fr 1fr auto;
  gap:10px; align-items:end; margin-bottom:12px;
}
.wes-dates-field{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.wes-dates-field label{ font-size:12px; font-weight:600; color:#6b7280; }
.wes-dates-remove{ padding:8px 12px !important; font-size:18px !important; line-height:1 !important; align-self:end; }

/* Zusammenfassung */
.wes-summary{ border:1px solid rgba(17,24,39,.1); border-radius:16px; overflow:hidden; }
.wes-summary__row{ display:grid; grid-template-columns:160px 1fr; gap:12px; padding:12px 16px; border-bottom:1px solid rgba(17,24,39,.06); }
.wes-summary__row:last-child{ border-bottom:0; }
.wes-summary__row > span{ font-weight:600; color:#6b7280; font-size:14px; }
.wes-summary__row > div{ color:#1d2127; line-height:1.5; min-width:0; word-break:break-word; }

@media (max-width:767px){
  .wes-steps{ grid-template-columns:1fr; gap:6px; }
  .wes-dates-row{ grid-template-columns:1fr 1fr; }
  .wes-dates-remove{ grid-column:1 / -1; }
  .wes-summary__row{ grid-template-columns:1fr; gap:4px; }
  .wes-wizard__nav{ flex-direction:column-reverse; }
  .wes-wizard__nav .wes-btn{ width:100%; justify-content:center; }
}

/* =====================================================================
   3.24.2 — Typografie-Parität Event-Beschreibung (Child-Theme-Standard)
   Das Child Theme v2.1.x definiert sitewide: Blocksatz + automatische
   Silbentrennung (hyphenate-limit-chars: 6 3 3) und das geteilte
   Lesemaß --wb-prose mit linker Kante (margin-inline: 0).
   Die globale "Guard"-Regel weiter oben (text-align:left auf .wes-content)
   stammt aus der Zeit VOR dieser Entscheidung und bleibt für andere
   Kontexte unangetastet; hier wird sie nur für die Event-Beschreibung
   gezielt auf den beschlossenen Standard gehoben.
   ===================================================================== */
.single-werkbund_event .wes-content :where(p, li){
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
}
/* Überschriften und Bildunterschriften nie im Blocksatz. */
.single-werkbund_event .wes-content :where(h2, h3, h4, h5, h6, figcaption){
  text-align: left;
  -webkit-hyphens: manual;
  hyphens: manual;
}
/* 3.39.1 — Event-Beschreibung füllt die volle Sektionsbreite und schließt
   damit bündig mit Terminen, Ort-Box und Galerie ab (kein „abgeschnittener“
   Block rechts mehr). Linke Kante bleibt die Container-Kante (margin-inline:0,
   keine zentrierte Spalte). Gilt für beide Render-Pfade: Beschreibung als
   Lead-Section (vergangene Events) und als untere Section (laufend/kommend).
   Maßgebliche Regel — überschreibt das frühere --wb-prose-/72ch-Lesemaß. */
.single-werkbund_event .wes-single-lead-section .wes-content,
.single-werkbund_event .wes-single-section .wes-content{
  max-width: 100%;
  margin-inline: 0;
}

/* 3.39.2 — Absatz-Ebene: Das Child-Theme-Bundle setzt sitewide
   .wb-shell p { max-width: 68ch } und kappt damit jeden EINZELNEN Absatz der
   Event-Beschreibung auf ~68ch (~697px), obwohl der .wes-content-Block bereits
   volle Breite hat (siehe 3.39.1). Hier heben wir das Maß NUR im Kontext der
   Event-Beschreibung auf, damit der Fließtext bündig mit den Terminen abschließt.
   Spezifität (0,2,0) schlägt .wb-shell p (0,1,1) — ohne !important. */
.single-werkbund_event .wes-content :where(p, li, ul, ol, blockquote, figure, h2, h3, h4){
  max-width: 100%;
}
