/*
 * Cask Passion Modern
 * No framework, no external fonts, no unnecessary JavaScript.
 */

:root {
  --cp-dark: #322a00;
  --cp-copper: #df7447;
  --cp-copper-dark: #a84e2b;
  --cp-cream: #f7f1e7;
  --cp-sand: #e8dcc9;
  --cp-ink: #211e17;
  --cp-white: #ffffff;
  --cp-radius: 1.25rem;
  --cp-radius-lg: 2rem;
  --cp-shadow: 0 1.25rem 3.5rem rgba(33, 30, 23, 0.12);
  --cp-section-space: clamp(4rem, 8vw, 7.5rem);
  --cp-transition: 180ms ease;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img {
  height: auto;
  max-width: 100%;
}

a,
button,
input,
textarea,
select {
  transition: color var(--cp-transition), background-color var(--cp-transition), border-color var(--cp-transition), transform var(--cp-transition), box-shadow var(--cp-transition);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.wp-element-button:focus-visible {
  outline: 3px solid var(--cp-copper);
  outline-offset: 4px;
}

::selection {
  color: var(--cp-dark);
  background: var(--cp-copper);
}

.wp-site-blocks {
  overflow: clip;
}

.cp-site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  color: var(--cp-white);
  background: rgba(50, 42, 0, 0.96);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(14px);
}

.admin-bar .cp-site-header {
  top: 32px;
}

.cp-header-inner {
  min-height: 5.25rem;
  gap: 2rem;
}

.cp-site-logo img,
.cp-site-header .wp-block-site-logo img {
  max-height: 4.1rem;
  width: auto;
  filter: brightness(0) invert(1);
}

.cp-primary-nav a {
  color: var(--cp-white);
  text-decoration: none;
}

.cp-primary-nav a:hover {
  color: var(--cp-copper);
}

.cp-primary-nav .cp-nav-cta > a {
  color: var(--cp-dark);
  background: var(--cp-copper);
  border-radius: 999px;
  padding: 0.7rem 1.1rem;
}

.cp-primary-nav .cp-nav-cta > a:hover {
  color: var(--cp-dark);
  background: var(--cp-cream);
}

.cp-main {
  margin-top: 0;
}

.cp-main > .wp-block-post-content {
  margin-top: 0;
}

.cp-hero {
  position: relative;
  isolation: isolate;
  min-height: min(860px, calc(100svh - 5rem));
  display: grid;
  align-items: center;
  padding-top: clamp(4rem, 9vw, 8rem);
  padding-bottom: clamp(4rem, 9vw, 8rem);
  color: var(--cp-white);
  background:
    radial-gradient(circle at 78% 20%, rgba(223, 116, 71, 0.30), transparent 31rem),
    radial-gradient(circle at 15% 85%, rgba(223, 116, 71, 0.14), transparent 28rem),
    linear-gradient(135deg, #211c00 0%, var(--cp-dark) 54%, #171400 100%);
}

.cp-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(to bottom, black, transparent 92%);
}

.cp-hero-grid {
  gap: clamp(2rem, 7vw, 7rem);
}

.cp-hero-title {
  max-width: 13ch;
  margin-top: 0.35rem;
  text-wrap: balance;
}

.cp-hero-copy {
  max-width: 58ch;
}

.cp-eyebrow {
  margin-bottom: 0.75rem;
  color: var(--cp-copper);
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cp-eyebrow-dark {
  color: var(--cp-copper-dark);
}

.cp-actions {
  margin-top: 2rem;
}

.cp-hero .is-style-outline .wp-element-button,
.cp-open-bottle .is-style-outline .wp-element-button {
  color: var(--cp-white);
  border-color: rgba(255, 255, 255, 0.65);
}

.wp-block-button .wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.75rem 2rem rgba(33, 30, 23, 0.18);
}

.wp-block-button.is-style-outline .wp-element-button:hover {
  color: var(--cp-dark);
  background: var(--cp-cream);
  border-color: var(--cp-cream);
}

.cp-hero-facts {
  gap: 0.7rem;
  margin-top: 2.4rem;
}

.cp-hero-facts p {
  margin: 0;
  padding: 0.45rem 0.8rem;
  color: var(--cp-cream);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
}

.cp-hero-mark {
  max-width: 25rem;
  margin-inline: auto;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  background: rgba(247, 241, 231, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50% 50% 1.75rem 1.75rem;
  box-shadow: 0 2rem 5rem rgba(0,0,0,.28);
  transform: rotate(2deg);
}

.cp-hero-mark img {
  border-radius: 0;
  mix-blend-mode: multiply;
}

.cp-section {
  padding-top: var(--cp-section-space);
  padding-bottom: var(--cp-section-space);
}

.cp-event-card,
.cp-audience-card,
.cp-post-card,
.cp-newsletter-card {
  border-radius: var(--cp-radius-lg);
  box-shadow: var(--cp-shadow);
}

.cp-event-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.75rem, 5vw, 3.5rem);
}

.cp-event-card::before {
  position: absolute;
  width: 16rem;
  height: 16rem;
  right: -7rem;
  bottom: -8rem;
  content: "";
  background: var(--cp-copper);
  border-radius: 50%;
  opacity: 0.22;
}

.cp-event-label {
  font-weight: 800;
  letter-spacing: 0.14em;
}

.cp-event-meta {
  gap: 1rem;
  margin-block: 1.5rem;
}

.cp-event-meta > .wp-block-column {
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 1rem;
}

.cp-event-meta p {
  margin-block: 0.1rem;
}

.cp-feature-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  box-shadow: var(--cp-shadow);
}

.cp-open-bottle {
  position: relative;
  overflow: hidden;
}

.cp-open-bottle::before {
  position: absolute;
  inset: auto -10% -18rem;
  height: 28rem;
  content: "";
  background: radial-gradient(ellipse, rgba(223,116,71,.23), transparent 70%);
  pointer-events: none;
}

.cp-card-grid {
  margin-top: clamp(2.5rem, 6vw, 5rem);
}

.cp-icon-card {
  height: 100%;
  padding: 1.75rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--cp-radius);
  background: rgba(255,255,255,.045);
}

.cp-card-number {
  color: var(--cp-copper);
  font-family: var(--cp-font-body);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
}

.cp-audience-grid {
  gap: clamp(1.25rem, 3vw, 2rem);
  margin-top: clamp(2rem, 5vw, 4rem);
}

.cp-audience-card {
  height: 100%;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.cp-audience-card ul {
  padding-left: 1.3rem;
}

.cp-audience-card li + li {
  margin-top: 0.65rem;
}

.cp-photo-grid {
  margin-top: 2rem;
}

.cp-photo-grid figure.wp-block-image {
  overflow: hidden;
  border-radius: var(--cp-radius);
}

.cp-photo-grid img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  transition: transform 500ms ease;
}

.cp-photo-grid figure:hover img {
  transform: scale(1.035);
}

.cp-latest-posts {
  margin-top: 2.5rem;
}

.cp-post-card {
  overflow: hidden;
  height: 100%;
  padding: 1.1rem;
}

.cp-post-card .wp-block-post-featured-image {
  margin: -1.1rem -1.1rem 1.25rem;
}

.cp-post-card .wp-block-post-featured-image img {
  border-radius: 0;
  object-fit: cover;
}

.cp-post-card .wp-block-post-title a {
  color: var(--cp-dark);
  text-decoration: none;
}

.cp-post-card .wp-block-post-title a:hover {
  color: var(--cp-copper-dark);
}

.cp-newsletter-section {
  padding-top: var(--cp-section-space);
  padding-bottom: var(--cp-section-space);
  background: var(--cp-cream);
}

.cp-newsletter-card {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 7vw, 5rem);
  color: var(--cp-white);
  background:
    radial-gradient(circle at 90% 10%, rgba(223,116,71,.38), transparent 22rem),
    linear-gradient(135deg, #211c00, var(--cp-dark));
}

.cp-content-shell {
  padding-top: clamp(3rem, 7vw, 6rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.cp-content-shell > .wp-block-post-title {
  max-width: 16ch;
}

.cp-post-meta {
  color: #6b6256;
  font-size: 0.9rem;
}

.cp-404 {
  min-height: 60vh;
  display: grid;
  align-content: center;
}

.cp-site-footer {
  padding-top: clamp(3.5rem, 7vw, 6rem);
  padding-bottom: 2rem;
}

.cp-site-footer .wp-block-site-logo img {
  max-height: 5rem;
  width: auto;
  filter: brightness(0) invert(1);
}

.cp-site-footer a {
  color: var(--cp-white);
}

.cp-site-footer a:hover {
  color: var(--cp-copper);
}

.cp-footer-nav .wp-block-navigation-item {
  width: 100%;
}

.cp-footer-nav a {
  padding-block: 0.2rem;
}

@media (max-width: 980px) {
  .cp-header-inner {
    min-height: 4.6rem;
  }

  .admin-bar .cp-site-header {
    top: 46px;
  }

  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    color: var(--cp-white);
    background: var(--cp-dark);
    padding: 1.5rem;
  }

  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open a {
    font-size: 1.25rem;
  }

  .cp-hero {
    min-height: auto;
  }

  .cp-hero-grid {
    flex-wrap: wrap !important;
  }

  .cp-hero-grid > .wp-block-column {
    flex-basis: 100% !important;
  }

  .cp-hero-mark {
    max-width: 18rem;
    margin-top: 1rem;
  }
}

@media (max-width: 781px) {
  .cp-section {
    padding-top: clamp(3.25rem, 12vw, 5rem);
    padding-bottom: clamp(3.25rem, 12vw, 5rem);
  }

  .cp-hero-title {
    max-width: 100%;
  }

  .cp-card-grid,
  .cp-audience-grid {
    gap: 1rem;
  }

  .cp-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .cp-site-logo img,
  .cp-site-header .wp-block-site-logo img {
    max-width: 8.5rem;
  }

  .cp-actions .wp-block-button,
  .cp-actions .wp-element-button {
    width: 100%;
  }

  .cp-actions .wp-element-button {
    justify-content: center;
    text-align: center;
  }

  .cp-photo-grid {
    grid-template-columns: 1fr !important;
  }

  .cp-photo-grid img {
    aspect-ratio: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  .cp-site-header,
  .cp-site-footer,
  .wp-block-buttons,
  .wp-block-navigation {
    display: none !important;
  }

  body {
    color: #000;
    background: #fff;
  }
}

/* Reusable page and section patterns */
.cp-page-hero {
  position: relative;
  overflow: hidden;
  padding-top: clamp(4.5rem, 9vw, 8rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 85% 15%, rgba(223, 116, 71, 0.32), transparent 26rem),
    linear-gradient(135deg, #211c00, var(--cp-dark));
}

.cp-page-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 4rem 4rem;
}

.cp-page-hero > * {
  position: relative;
  z-index: 1;
}

.cp-page-title {
  max-width: 15ch;
  margin-top: 0;
  text-wrap: balance;
}

.cp-page-intro {
  max-width: 62ch;
}

.cp-split-grid,
.cp-contact-grid,
.cp-info-grid {
  gap: clamp(1.5rem, 5vw, 4rem);
}

.cp-info-panel,
.cp-feature-card,
.cp-contact-card,
.cp-form-card {
  height: 100%;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: var(--cp-radius-lg);
  box-shadow: var(--cp-shadow);
}

.cp-info-panel p + p {
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.15);
}

.cp-feature-card {
  box-shadow: 0 .9rem 2.4rem rgba(33, 30, 23, .08);
}

.cp-contact-card a {
  color: var(--cp-copper-dark);
  font-weight: 700;
}

.wp-block-details {
  margin-top: 1rem;
  padding: 1.15rem 1.25rem;
  background: var(--cp-cream);
  border: 1px solid rgba(50,42,0,.12);
  border-radius: 1rem;
}

.wp-block-details summary {
  cursor: pointer;
  font-weight: 800;
}

.wp-block-details[open] summary {
  margin-bottom: .8rem;
}

@media (max-width: 781px) {
  .cp-split-grid,
  .cp-contact-grid,
  .cp-info-grid {
    gap: 1rem;
  }
}

/* Dynamic events */
.cp-next-event-block,.cp-event-list-block{max-width:1240px;margin-inline:auto}.cp-next-event-block{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);align-items:center}.cp-next-event-block__intro h2{margin-bottom:0}.cp-dynamic-event{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 60px rgba(50,42,0,.12);height:100%;display:flex;flex-direction:column}.cp-dynamic-event--featured{background:var(--wp--preset--color--cask-dark,#322a00);color:#fff;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.cp-dynamic-event--featured.has-no-event-image{grid-template-columns:1fr}.cp-dynamic-event--featured h3,.cp-dynamic-event--featured h3 a,.cp-dynamic-event--featured p,.cp-dynamic-event--featured dt,.cp-dynamic-event--featured dd{color:#fff}.cp-dynamic-event__image{display:block;min-height:220px}.cp-dynamic-event__image img{width:100%;height:100%;object-fit:cover;display:block}.cp-dynamic-event__body{padding:clamp(1.5rem,3vw,2.5rem)}.cp-dynamic-event h3{font-size:clamp(1.55rem,2.4vw,2.4rem);margin:.25rem 0 1rem}.cp-dynamic-event h3 a{color:inherit;text-decoration:none}.cp-dynamic-event h3 a:hover{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.15em}.cp-dynamic-event__meta{display:grid;gap:.85rem;margin:0 0 1.25rem}.cp-dynamic-event__meta div{display:grid;grid-template-columns:5rem 1fr;gap:.75rem}.cp-dynamic-event__meta dt{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;opacity:.72}.cp-dynamic-event__meta dd{margin:0;font-weight:650}.cp-dynamic-event__actions{margin-top:1.5rem}.cp-event-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}.cp-event-empty{background:#fff;border:1px solid rgba(50,42,0,.14);border-radius:24px;padding:clamp(1.5rem,4vw,3rem)}.cp-event-empty h3{margin-top:0}.single-cp_event .cp-dynamic-event--featured{max-width:1100px;margin-inline:auto}.single-cp_event .cp-dynamic-event--featured+.wp-block-post-content{margin-top:3rem}@media(max-width:900px){.cp-next-event-block{grid-template-columns:1fr}.cp-event-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-dynamic-event--featured{grid-template-columns:1fr}.cp-dynamic-event--featured .cp-dynamic-event__image{max-height:420px}}@media(max-width:620px){.cp-event-list-grid{grid-template-columns:1fr}.cp-dynamic-event__meta div{grid-template-columns:1fr;gap:.15rem}.cp-dynamic-event__actions{display:grid}.cp-dynamic-event__actions .wp-block-button{width:100%}.cp-dynamic-event__actions .wp-block-button__link{width:100%;text-align:center}}

/* Standardized event editor content */
.cp-event-lead {
	font-size: clamp(1.12rem, 1.05rem + .35vw, 1.35rem);
	line-height: 1.65;
	font-weight: 500;
	max-width: 48rem;
}

/* About page: vision and team */
.cp-about-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 10vw, 9rem);
  background:
    radial-gradient(circle at 82% 20%, rgba(223, 116, 71, .42), transparent 23rem),
    radial-gradient(circle at 15% 90%, rgba(255, 255, 255, .07), transparent 22rem),
    linear-gradient(135deg, #201a00, var(--cp-dark));
}

.cp-about-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .14;
  background-image: linear-gradient(120deg, transparent 0 62%, rgba(255,255,255,.16) 62% 62.3%, transparent 62.3%);
}

.cp-about-hero__inner { position: relative; z-index: 1; }
.cp-about-title { max-width: 13ch; margin-block: .5rem 1.25rem; text-wrap: balance; }
.cp-about-hero__lead { max-width: 58ch; }
.cp-about-vision__grid { gap: clamp(2rem, 6vw, 6rem); }

.cp-vision-statement {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4.5rem);
  border-radius: clamp(1.5rem, 4vw, 3rem);
  box-shadow: var(--cp-shadow);
}

.cp-vision-statement::after {
  position: absolute;
  right: -3rem;
  bottom: -5rem;
  width: 14rem;
  height: 14rem;
  border: 1px solid rgba(223,116,71,.45);
  border-radius: 50%;
  content: "";
}

.cp-vision-statement__mark {
  margin: 0;
  font-family: var(--cp-font-body);
  font-size: 6rem;
  line-height: .55;
}

.cp-section-heading { margin-bottom: clamp(2rem, 5vw, 4rem); }
.cp-about-values { gap: clamp(1rem, 2.5vw, 2rem); }

.cp-value-card {
  height: 100%;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(50,42,0,.08);
  border-radius: var(--cp-radius-lg);
  box-shadow: 0 1rem 2.8rem rgba(50,42,0,.07);
  transition: transform .25s ease, box-shadow .25s ease;
}

.cp-value-card:hover {
  transform: translateY(-.35rem);
  box-shadow: 0 1.4rem 3.4rem rgba(50,42,0,.12);
}

.cp-value-card__number {
  margin: 0 0 2rem;
  color: var(--cp-copper-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.cp-team-intro { margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.cp-team-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 2rem);
}

.cp-team-card {
  grid-column: span 2;
  overflow: hidden;
  border: 1px solid rgba(50,42,0,.09);
  border-radius: var(--cp-radius-lg);
  box-shadow: 0 1rem 2.8rem rgba(50,42,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.cp-team-card:nth-child(4) { grid-column: 2 / span 2; }
.cp-team-card:nth-child(5) { grid-column: 4 / span 2; }
.cp-team-card:hover { transform: translateY(-.4rem); box-shadow: 0 1.5rem 3.5rem rgba(50,42,0,.13); }

.cp-team-card__portrait {
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--cp-dark);
}

.cp-team-card__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-team-card__portrait--initials {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 70% 20%, rgba(223,116,71,.8), transparent 38%),
    linear-gradient(145deg, #201a00, var(--cp-dark));
}

.cp-team-card__portrait--initials p {
  margin: 0;
  color: var(--cp-cream);
  font-family: var(--cp-font-body);
  font-size: clamp(3rem, 7vw, 5.25rem);
  font-weight: 700;
  letter-spacing: -.04em;
}

.cp-team-card__content { padding: clamp(1.35rem, 3vw, 2rem); }
.cp-team-card__content h3 { margin: 0; }
.cp-team-role {
  margin-block: .35rem 1.1rem;
  color: var(--cp-copper-dark);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cp-about-cta__inner { gap: 2rem; }
.cp-about-cta__inner h2 { margin-bottom: 0; }

@media (max-width: 1000px) {
  .cp-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-team-card,
  .cp-team-card:nth-child(4),
  .cp-team-card:nth-child(5) { grid-column: auto; }
  .cp-team-card:last-child { grid-column: 1 / -1; max-width: calc(50% - .5rem); width: 100%; justify-self: center; }
}

@media (max-width: 650px) {
  .cp-team-grid { grid-template-columns: 1fr; }
  .cp-team-card:last-child { grid-column: auto; max-width: none; }
  .cp-about-cta__inner { align-items: flex-start !important; }
}


/* Cask Society */
.cp-society-section { color: var(--wp--preset--color--white); }
.cp-society-access {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
}
.cp-society-access h2,
.cp-society-access h3 { color: #fff; }
.cp-society-access__intro > p:not(.cp-eyebrow) { color: var(--wp--preset--color--cream); font-size: 1.15rem; max-width: 48rem; }
.cp-society-benefits { display: grid; gap: .8rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.cp-society-benefits li { position: relative; padding-left: 1.65rem; color: #fff; }
.cp-society-benefits li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--copper); font-weight: 800; }
.cp-society-access__panel {
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--text);
	border-radius: 1.6rem;
	padding: clamp(1.6rem, 4vw, 3rem);
	box-shadow: 0 1.4rem 4rem rgba(0,0,0,.22);
}
.cp-society-access__panel h3 { color: var(--wp--preset--color--cask-dark); margin-top: .35rem; }
.cp-society-access__status { color: var(--wp--preset--color--copper-dark, #a84e2b); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 800; }
.cp-society-login-form { margin-top: 1.5rem; }
.cp-society-login-button { border: 0; cursor: pointer; width: 100%; font: inherit; font-weight: 750; }
.cp-society-access__help { margin: 1rem 0 0; font-size: .92rem; }
.cp-society-access__help a { color: var(--wp--preset--color--copper-dark, #a84e2b); }
.cp-society-value-grid, .cp-member-dashboard-grid { gap: 1.5rem; }
.cp-value-card, .cp-member-card { height: 100%; border-radius: 1.25rem; padding: clamp(1.35rem, 3vw, 2rem); box-shadow: 0 .7rem 2rem rgba(50,42,0,.08); }
.cp-member-card .wp-block-buttons { margin-top: auto; }
@media (max-width: 850px) {
	.cp-society-access { grid-template-columns: 1fr; }
}

/* Cask Society club page with dedicated brand logo */
.cp-society-club-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4rem, 9vw, 8rem);
  background:
    radial-gradient(circle at 12% 18%, rgba(223,116,71,.28), transparent 26rem),
    linear-gradient(135deg, #201a00, var(--cp-dark));
}
.cp-society-club-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .11;
  background-image: repeating-linear-gradient(115deg, transparent 0 3rem, rgba(255,255,255,.12) 3rem 3.05rem);
}
.cp-society-club-hero__grid { position: relative; z-index: 1; gap: clamp(2.5rem, 7vw, 7rem); }
.cp-society-club-title { max-width: 12ch; margin-block: .6rem 1.25rem; text-wrap: balance; }
.cp-society-club-lead { max-width: 58ch; }
.cp-society-logo-card {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}
.cp-society-logo-card img { width: 100%; height: auto; display: block; }
.cp-society-vision__grid { gap: clamp(2rem, 6vw, 6rem); }
.cp-society-benefit-grid { gap: clamp(1rem, 2vw, 1.5rem); }
.cp-society-steps { gap: clamp(1rem, 2vw, 1.5rem); margin-top: 2.5rem; }
.cp-society-step {
  height: 100%;
  padding: clamp(1.35rem, 3vw, 2rem);
  border-radius: 1.35rem;
  box-shadow: 0 .8rem 2.4rem rgba(50,42,0,.08);
}
.cp-society-step__number {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 0 1.5rem;
  border-radius: 999px;
  background: var(--cp-copper);
  color: var(--cp-dark);
  font-weight: 900;
}
@media (max-width: 781px) {
  .cp-society-logo-card { max-width: 34rem; margin-inline: auto; transform: none; }
  .cp-society-club-title { max-width: none; }
}

/* Version 1.6.2 – refined Cask Society typography and member panel */
.cp-society-section,
.cp-society-club-hero,
.cp-society-vision,
.cp-society-membership {
  --cp-society-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-family: var(--cp-society-font);
}

.cp-society-section h2,
.cp-society-section h3,
.cp-society-club-hero h1,
.cp-society-vision h2,
.cp-society-membership h2,
.cp-society-membership h3 {
  font-family: var(--cp-society-font);
  letter-spacing: -.035em;
  line-height: 1.06;
}

.cp-society-access__intro h2 {
  max-width: 15ch;
  font-size: clamp(2.35rem, 4.8vw, 4.65rem);
  font-weight: 760;
  text-wrap: balance;
}

.cp-society-access__intro > p:not(.cp-eyebrow) {
  font-size: clamp(1.08rem, 1.5vw, 1.28rem);
  line-height: 1.7;
}

.cp-society-access__panel {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.25rem);
  border: 1px solid rgba(164, 123, 44, .2);
  border-radius: 2rem;
  background: linear-gradient(145deg, #fbf7ef 0%, #f1e6d2 100%);
  color: #282217;
  box-shadow: 0 1.8rem 5rem rgba(0,0,0,.24);
}

.cp-society-access__panel::before {
  position: absolute;
  top: -5rem;
  right: -5rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid rgba(168, 78, 43, .18);
  border-radius: 50%;
  content: "";
}

.cp-society-access__panel h3 {
  position: relative;
  margin: .75rem 0 1.15rem;
  color: #282217;
  font-family: var(--cp-society-font);
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  font-weight: 760;
  letter-spacing: -.045em;
  line-height: 1.08;
}

.cp-society-access__copy,
.cp-society-access__panel > p:not(.cp-society-access__status):not(.cp-society-access__logout):not(.cp-society-access__help) {
  color: #51493d;
  font-size: 1.06rem;
  line-height: 1.65;
}

.cp-society-access__status {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  color: #9b4a2c;
  font-family: var(--cp-society-font);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.cp-society-access__status::before {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #c68b36;
  box-shadow: 0 0 0 .3rem rgba(198,139,54,.14);
  content: "";
}

.cp-society-dashboard-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin: 1.6rem 0 1.8rem;
  padding: 0;
  list-style: none;
}

.cp-society-dashboard-links li {
  padding: .8rem .7rem;
  border: 1px solid rgba(50,42,0,.1);
  border-radius: .9rem;
  background: rgba(255,255,255,.54);
  color: #4b402d;
  font-size: .84rem;
  font-weight: 700;
  text-align: center;
}

.cp-society-access__actions {
  margin-top: 0;
}

.cp-society-access__actions .wp-block-button,
.cp-society-access__actions .wp-block-button__link {
  width: 100%;
}

.cp-society-access__actions .wp-block-button__link,
.cp-society-login-button {
  padding: .95rem 1.35rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #d88952, #df7447);
  color: #292100;
  font-family: var(--cp-society-font);
  font-weight: 800;
  text-align: center;
  box-shadow: 0 .7rem 1.7rem rgba(168,78,43,.18);
}

.cp-society-access__logout {
  margin: 1.05rem 0 0;
  text-align: center;
}

.cp-society-access__logout a {
  color: #63584a;
  font-size: .92rem;
  font-weight: 650;
  text-decoration-thickness: .08em;
  text-underline-offset: .24em;
}

.cp-society-access__logout a:hover,
.cp-society-access__logout a:focus-visible {
  color: #9b4a2c;
}

@media (max-width: 520px) {
  .cp-society-dashboard-links { grid-template-columns: 1fr; }
  .cp-society-dashboard-links li { text-align: left; }
}

/* Version 1.6.3 – transparent Cask Passion logo in the homepage hero */
.cp-hero-mark {
  position: relative;
  width: min(100%, 34rem);
  max-width: 34rem;
  margin-inline: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.cp-hero-mark::before {
  position: absolute;
  z-index: -1;
  inset: 12% 6%;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgba(223,116,71,.24), rgba(223,116,71,.08) 42%, transparent 72%);
  filter: blur(1.25rem);
}

.cp-hero-mark img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  mix-blend-mode: normal;
  filter: drop-shadow(0 1.4rem 2.8rem rgba(0,0,0,.28));
}

@media (max-width: 960px) {
  .cp-hero-mark {
    max-width: 27rem;
  }
}

@media (max-width: 781px) {
  .cp-hero-mark {
    max-width: 22rem;
    margin-top: 1.75rem;
  }
}


/* Version 1.6.4 – only the transparent Cask Passion logo in the homepage hero.
   The background image also replaces logos already stored in previously inserted patterns. */
.cp-hero-mark {
  position: relative;
  width: min(100%, 34rem);
  max-width: 34rem;
  min-height: clamp(15rem, 30vw, 28rem);
  margin-inline: auto;
  padding: 0;
  background-color: transparent;
  background-image: url('../images/logo-cask-passion-white.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.cp-hero-mark::before {
  content: none;
  display: none;
}

.cp-hero-mark img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  border-radius: 0;
  filter: none;
  mix-blend-mode: normal;
}

@media (max-width: 960px) {
  .cp-hero-mark {
    max-width: 27rem;
    min-height: 22rem;
  }
}

@media (max-width: 781px) {
  .cp-hero-mark {
    max-width: 22rem;
    min-height: 18rem;
    margin-top: 1.75rem;
  }
}

/* Version 1.6.5 – compact, responsive Cask Society member card */
.cp-society-access__panel {
  container-type: inline-size;
}

.cp-society-access__member-name {
  margin: -.65rem 0 1rem;
  color: #9b4a2c;
  font-family: var(--cp-society-font);
  font-size: clamp(1rem, 2.5cqi, 1.2rem);
  font-weight: 750;
}

.cp-society-dashboard-links {
  grid-template-columns: 1fr;
  gap: 0;
  margin: 1.35rem 0 1.6rem;
  border-top: 1px solid rgba(50,42,0,.12);
  border-bottom: 1px solid rgba(50,42,0,.12);
}

.cp-society-dashboard-links li {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
  padding: .85rem 0;
  border: 0;
  border-bottom: 1px solid rgba(50,42,0,.09);
  border-radius: 0;
  background: transparent;
  color: #3d3427;
  font-size: .94rem;
  font-weight: 700;
  text-align: left;
}

.cp-society-dashboard-links li:last-child { border-bottom: 0; }
.cp-society-dashboard-links li span {
  flex: 0 0 auto;
  color: #b8653c;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .1em;
}

.cp-society-access__actions .wp-block-button__link,
.cp-society-login-button {
  width: auto;
  min-width: min(100%, 15rem);
  padding: .82rem 1.25rem;
  font-size: .96rem;
}

.cp-society-access__actions .wp-block-button { width: auto; }
.cp-society-access__actions { justify-content: flex-start; }
.cp-society-access__logout { text-align: left; }

@container (max-width: 420px) {
  .cp-society-access__panel {
    padding: 1.5rem;
    border-radius: 1.35rem;
  }

  .cp-society-access__panel h3 {
    margin-top: .65rem;
    font-size: clamp(1.75rem, 11cqi, 2.35rem);
    line-height: 1.02;
  }

  .cp-society-access__copy {
    font-size: .98rem;
    line-height: 1.55;
  }

  .cp-society-access__actions,
  .cp-society-access__actions .wp-block-button,
  .cp-society-access__actions .wp-block-button__link,
  .cp-society-login-button {
    width: 100%;
  }

  .cp-society-access__logout {
    margin-top: .85rem;
    text-align: center;
  }
}

/* Cask Society member dashboard – v1.7.0 */
.cp-member-dashboard-page {
  padding-block: clamp(2rem, 5vw, 5rem);
}
.cp-member-dashboard {
  width: min(1240px, calc(100% - 2rem));
  margin-inline: auto;
}
.cp-member-dashboard__welcome {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(250px, .6fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
  padding: clamp(2rem, 6vw, 5rem);
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(223,116,71,.34), transparent 22rem),
    linear-gradient(135deg, #211c00, #322a00);
  border-radius: clamp(1.5rem, 4vw, 3rem);
  box-shadow: 0 1.6rem 4rem rgba(50,42,0,.2);
}
.cp-member-dashboard__welcome h1 {
  margin: .35rem 0 1rem;
  color: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2.4rem, 6vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.05em;
}
.cp-member-dashboard__welcome > div > p:last-child {
  max-width: 58ch;
  margin-bottom: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(1.05rem, 1rem + .35vw, 1.3rem);
}
.cp-member-dashboard__account {
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.cp-member-dashboard__account span,
.cp-member-dashboard__account strong,
.cp-member-dashboard__account a { display: block; }
.cp-member-dashboard__account span { color: rgba(255,255,255,.65); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.cp-member-dashboard__account strong { margin-block: .35rem .9rem; overflow-wrap: anywhere; }
.cp-member-dashboard__account a { color: #fff; text-underline-offset: .25em; }
.cp-member-dashboard__quicklinks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.cp-member-dashboard__quicklinks a {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  color: #211e17;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(50,42,0,.1);
  border-radius: 1.35rem;
  box-shadow: 0 .8rem 2.2rem rgba(50,42,0,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}
.cp-member-dashboard__quicklinks a:hover,
.cp-member-dashboard__quicklinks a:focus-visible {
  transform: translateY(-.2rem);
  box-shadow: 0 1.2rem 2.7rem rgba(50,42,0,.13);
}
.cp-member-dashboard__quicklinks span,
.cp-member-dashboard__quicklinks strong,
.cp-member-dashboard__quicklinks small { display: block; }
.cp-member-dashboard__quicklinks span { margin-bottom: 2rem; color: #a84e2b; font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.cp-member-dashboard__quicklinks strong { font-size: clamp(1.1rem, 1rem + .35vw, 1.35rem); }
.cp-member-dashboard__quicklinks small { margin-top: .4rem; color: #6b6257; line-height: 1.45; }
.cp-member-content-section {
  margin-top: clamp(2rem, 6vw, 5rem);
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border-radius: 1.75rem;
}
.cp-member-downloads { box-shadow: 0 1rem 3rem rgba(50,42,0,.08); }
.cp-member-dashboard__notice { padding: 1.5rem; background: #fff; border-radius: 1rem; }
@media (max-width: 900px) {
  .cp-member-dashboard__welcome { grid-template-columns: 1fr; align-items: start; }
  .cp-member-dashboard__quicklinks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .cp-member-dashboard { width: min(100% - 1rem, 1240px); }
  .cp-member-dashboard__welcome { padding: 1.5rem; border-radius: 1.5rem; }
  .cp-member-dashboard__quicklinks { grid-template-columns: 1fr; }
  .cp-member-dashboard__quicklinks span { margin-bottom: .75rem; }
  .cp-member-dashboard__quicklinks a { padding: 1.25rem; }
}


/* Cask Society dynamic dashboard – v1.8.0 */
.cp-member-dashboard__welcome {
  align-items: center;
}
.cp-member-dashboard__welcome h1 span { color: #df7447; }
.cp-member-dashboard__account {
  display: grid;
  gap: .35rem;
}
.cp-member-dashboard__account a { display: inline-block; width: fit-content; }
.cp-member-dashboard__logout { margin-top: .45rem; color: rgba(255,255,255,.72) !important; font-size: .9rem; }

.cp-member-dashboard__quicklinks a {
  position: relative;
  overflow: hidden;
  display: flex;
  min-height: 13rem;
  flex-direction: column;
}
.cp-member-dashboard__quicklinks a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: .22rem;
  background: #df7447;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.cp-member-dashboard__quicklinks a:hover::after,
.cp-member-dashboard__quicklinks a:focus-visible::after { transform: scaleX(1); }
.cp-member-dashboard__quicklinks a b {
  margin-top: auto;
  color: #a84e2b;
  font-size: 1.35rem;
  transition: transform .2s ease;
}
.cp-member-dashboard__quicklinks a:hover b,
.cp-member-dashboard__quicklinks a:focus-visible b { transform: translateX(.3rem); }

.cp-dashboard-icon {
  display: grid !important;
  width: 2.65rem;
  height: 2.65rem;
  margin: 0 0 1.45rem !important;
  place-items: center;
  color: #a84e2b !important;
  background: rgba(223,116,71,.12);
  border-radius: .8rem;
}
.cp-dashboard-icon svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: currentColor;
}
.cp-member-dashboard__quicklinks small { margin-bottom: 1rem; }

.cp-dashboard-section {
  margin-top: clamp(2.2rem, 6vw, 5.5rem);
  scroll-margin-top: 7rem;
}
.cp-dashboard-section__heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 1.35rem;
}
.cp-dashboard-section__heading h2 {
  margin: .25rem 0 0;
  font-size: clamp(2rem, 1.55rem + 2vw, 3.5rem);
}
.cp-dashboard-grid {
  display: grid;
  gap: 1rem;
}
.cp-dashboard-grid--three { grid-template-columns: repeat(3, minmax(0,1fr)); }

.cp-dashboard-card,
.cp-dashboard-event-card,
.cp-dashboard-download,
.cp-dashboard-empty {
  border: 1px solid rgba(50,42,0,.1);
  border-radius: 1.4rem;
  background: #fff;
  box-shadow: 0 .8rem 2.6rem rgba(50,42,0,.07);
}
.cp-dashboard-card { overflow: hidden; padding: 1.4rem; }
.cp-dashboard-card__image {
  margin: -1.4rem -1.4rem 1.2rem;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.cp-dashboard-card__image img { width: 100%; height: 100%; object-fit: cover; }
.cp-dashboard-card time { color: #a84e2b; font-size: .78rem; font-weight: 750; letter-spacing: .08em; }
.cp-dashboard-card h3 { margin: .55rem 0 .65rem; font-family: var(--cp-society-font, system-ui); font-size: 1.25rem; }
.cp-dashboard-card p { margin: 0; color: #665c50; }

.cp-dashboard-event-card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  color: #fff;
  background: linear-gradient(135deg, #211c00, #403500);
}
.cp-dashboard-event-card__date {
  display: grid;
  width: 5rem;
  height: 5rem;
  place-items: center;
  align-content: center;
  border-radius: 1rem;
  color: #322a00;
  background: #f7f1e7;
}
.cp-dashboard-event-card__date strong { font-size: 1.8rem; line-height: 1; }
.cp-dashboard-event-card__date span { color: #a84e2b; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.cp-dashboard-event-card h3 { margin: .25rem 0; color: #fff; font-family: var(--cp-society-font, system-ui); font-size: clamp(1.45rem, 1.1rem + 1vw, 2.15rem); }
.cp-dashboard-event-card p { margin: .2rem 0; color: rgba(255,255,255,.78); }
.cp-dashboard-event-card .wp-element-button { white-space: nowrap; }

.cp-dashboard-download-list { display: grid; gap: .7rem; }
.cp-dashboard-download {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.15rem;
  color: #211e17;
  text-decoration: none;
}
.cp-dashboard-download .cp-dashboard-icon { margin: 0 !important; }
.cp-dashboard-download strong,
.cp-dashboard-download small { display: block; }
.cp-dashboard-download small { margin-top: .18rem; color: #756b5f; }
.cp-dashboard-download b { color: #a84e2b; font-size: 1.25rem; }
.cp-dashboard-download:hover { transform: translateY(-.08rem); }

.cp-dashboard-bottling__icon {
  display: grid;
  width: 4.2rem;
  height: 4.2rem;
  margin-bottom: 1rem;
  place-items: center;
  color: #a84e2b;
  background: rgba(223,116,71,.12);
  border-radius: 1rem;
}
.cp-dashboard-bottling__icon svg { width: 2.2rem; height: 2.2rem; fill: currentColor; }

.cp-dashboard-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .8rem;
}
.cp-dashboard-gallery figure {
  position: relative;
  overflow: hidden;
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: 1.15rem;
  background: #e8dcc9;
}
.cp-dashboard-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.cp-dashboard-gallery figure:hover img { transform: scale(1.035); }
.cp-dashboard-gallery figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 2rem 1rem .85rem;
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  background: linear-gradient(transparent, rgba(0,0,0,.72));
}

.cp-dashboard-community {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 2rem;
  align-items: center;
  padding: clamp(1.5rem, 4vw, 3rem);
  color: #fff;
  background: linear-gradient(135deg, #322a00, #4a3305);
  border-radius: 1.75rem;
}
.cp-dashboard-community .cp-dashboard-icon { color: #df7447 !important; background: rgba(255,255,255,.09); }
.cp-dashboard-community h2 { margin: .25rem 0 .55rem; color: #fff; }
.cp-dashboard-community p { max-width: 62ch; color: rgba(255,255,255,.78); }
.cp-dashboard-community__hint { margin: 0; font-size: .88rem; }
.cp-dashboard-empty { padding: 1.25rem 1.4rem; grid-column: 1 / -1; }
.cp-dashboard-empty p { margin: 0; }

@media (max-width: 900px) {
  .cp-dashboard-grid--three { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cp-dashboard-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .cp-dashboard-grid--three,
  .cp-dashboard-gallery { grid-template-columns: 1fr; }
  .cp-dashboard-event-card { grid-template-columns: auto minmax(0,1fr); }
  .cp-dashboard-event-card .wp-element-button { grid-column: 1 / -1; width: 100%; text-align: center; }
  .cp-dashboard-community { grid-template-columns: 1fr; }
  .cp-dashboard-community .wp-element-button { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-member-dashboard__quicklinks a,
  .cp-member-dashboard__quicklinks a::after,
  .cp-member-dashboard__quicklinks a b,
  .cp-dashboard-gallery img,
  .cp-dashboard-download { transition: none !important; }
}

/* Dashboard welcome layout fix – v1.8.1 */
.cp-member-dashboard__welcome {
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem);
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: center;
}
.cp-member-dashboard__welcome > div:first-child {
  min-width: 0;
}
.cp-member-dashboard__welcome h1 {
  max-width: 11ch;
  font-size: clamp(2.8rem, 5vw, 4.65rem);
  line-height: .98;
  overflow-wrap: anywhere;
  word-break: normal;
  text-wrap: balance;
}
.cp-member-dashboard__account {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.cp-member-dashboard__account strong {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 1120px) {
  .cp-member-dashboard__welcome {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .cp-member-dashboard__welcome h1 {
    max-width: 14ch;
  }
  .cp-member-dashboard__account {
    max-width: 34rem;
  }
}
@media (max-width: 560px) {
  .cp-member-dashboard__welcome h1 {
    max-width: none;
    font-size: clamp(2.45rem, 14vw, 3.5rem);
  }
}

/* Dashboard greeting readability fix – v1.8.2 */
.cp-member-dashboard__welcome {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: center;
}
.cp-member-dashboard__welcome h1 {
  display: grid;
  max-width: none;
  margin: .4rem 0 1.25rem;
  line-height: .94;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
}
.cp-member-dashboard__hello,
.cp-member-dashboard__name {
  display: block;
  min-width: 0;
}
.cp-member-dashboard__hello {
  font-size: clamp(3rem, 5.4vw, 5.25rem);
}
.cp-member-dashboard__name {
  margin-top: .12em;
  font-size: clamp(2.3rem, 4.1vw, 4.25rem);
  overflow-wrap: break-word;
  hyphens: none;
}
.cp-member-dashboard__name > span {
  display: inline;
  color: #df7447;
}
.cp-member-dashboard__welcome > div:first-child > p:last-child {
  max-width: 38rem;
}
.cp-member-dashboard__account {
  align-self: center;
}
@media (max-width: 980px) {
  .cp-member-dashboard__welcome {
    grid-template-columns: 1fr;
  }
  .cp-member-dashboard__account {
    max-width: 100%;
  }
}
@media (max-width: 560px) {
  .cp-member-dashboard__hello {
    font-size: clamp(2.75rem, 15vw, 4rem);
  }
  .cp-member-dashboard__name {
    font-size: clamp(2rem, 11vw, 3rem);
  }
}


/* Cask Society dashboard layout – v1.9.0 */
.cp-member-dashboard__welcome {
  display: block !important;
  padding: clamp(2rem, 5vw, 4.5rem) !important;
}

.cp-member-dashboard__intro {
  max-width: 58rem;
}

.cp-member-dashboard__welcome h1 {
  display: block !important;
  width: 100%;
  max-width: none !important;
  margin: .55rem 0 1rem !important;
  font-size: clamp(3.25rem, 7vw, 7.25rem) !important;
  line-height: .93 !important;
  letter-spacing: -.055em;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.cp-member-dashboard__hello,
.cp-member-dashboard__name {
  display: inline !important;
  color: #fff !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.cp-member-dashboard__name > span {
  color: #df7447 !important;
}

.cp-member-dashboard__intro > p:last-child {
  max-width: 44rem !important;
  margin: 0 !important;
  font-size: clamp(1.08rem, 1rem + .45vw, 1.4rem) !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,.82) !important;
}

.cp-member-dashboard__account {
  display: flex !important;
  width: 100%;
  max-width: none !important;
  margin-top: clamp(2rem, 5vw, 3.75rem);
  padding: 1.15rem 1.35rem !important;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1.15rem !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}

.cp-member-dashboard__account-details,
.cp-member-dashboard__account-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.cp-member-dashboard__account-details span {
  color: rgba(255,255,255,.62);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.cp-member-dashboard__account-details strong {
  color: #fff;
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.cp-member-dashboard__account-actions {
  flex: 0 0 auto;
}

.cp-member-dashboard__account-actions a {
  margin: 0 !important;
  color: #fff !important;
  font-size: .95rem;
  font-weight: 700;
  text-underline-offset: .3em;
}

.cp-member-dashboard__account-actions .cp-member-dashboard__logout {
  color: rgba(255,255,255,.68) !important;
}

@media (max-width: 860px) {
  .cp-member-dashboard__welcome h1 {
    font-size: clamp(3rem, 11vw, 5.5rem) !important;
  }

  .cp-member-dashboard__account {
    align-items: flex-start;
    flex-direction: column;
  }

  .cp-member-dashboard__account-details {
    align-items: flex-start;
    flex-direction: column;
    gap: .3rem;
  }
}

@media (max-width: 560px) {
  .cp-member-dashboard__welcome {
    padding: 1.6rem !important;
  }

  .cp-member-dashboard__welcome h1 {
    font-size: clamp(2.65rem, 13vw, 4rem) !important;
    line-height: .98 !important;
  }

  .cp-member-dashboard__hello,
  .cp-member-dashboard__name {
    display: block !important;
  }

  .cp-member-dashboard__name {
    margin-top: .1em;
  }

  .cp-member-dashboard__account-actions {
    width: 100%;
    justify-content: space-between;
  }
}


/* Cask Society authorization states – v2.0.0 */
.cp-member-dashboard__notice--denied {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(168,78,43,.25);
  border-radius: 1.4rem;
  background: #fff8f3;
  color: #322a00;
}
.cp-member-dashboard__notice--denied h2 {
  margin-top: 0;
}

/* Ticketverkauf / Eventfrog – v2.2.0 */
.cp-ticket-page{background:#f7f1e7}
.cp-ticket-hero{padding:clamp(4rem,9vw,8rem) var(--wp--preset--spacing--40,1.5rem);color:#fff;background:radial-gradient(circle at 85% 20%,rgba(223,116,71,.22),transparent 28rem),linear-gradient(135deg,#211c00,#3b3100 62%,#4b3508)}
.cp-ticket-hero h1{max-width:12ch;margin:.5rem 0 1.25rem;color:#fff;font-size:clamp(3rem,6vw,6rem);line-height:.96;letter-spacing:-.045em}
.cp-ticket-hero__lead{max-width:42rem;color:rgba(255,255,255,.82);font-size:clamp(1.08rem,1rem + .5vw,1.4rem);line-height:1.65}
.cp-ticket-trust-card{padding:clamp(1.4rem,3vw,2.1rem);border:1px solid rgba(255,255,255,.18);border-radius:1.6rem;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.cp-ticket-trust-card h2{margin-top:0;color:#fff;font-family:var(--cp-society-font,system-ui)}
.cp-ticket-trust-card li{margin:.7rem 0;color:rgba(255,255,255,.82)}
.cp-ticket-shop{padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(3rem,6vw,5rem)}
.cp-ticket-shop__heading{max-width:52rem;margin:0 auto 1.8rem;text-align:center}
.cp-eventfrog-embed{width:100%;max-width:70rem!important;min-height:24rem;padding:clamp(.6rem,2vw,1.25rem);overflow:hidden;border:1px solid rgba(50,42,0,.12);border-radius:1.6rem;background:#fff;box-shadow:0 1.5rem 4rem rgba(50,42,0,.09)}
.cp-eventfrog-embed iframe{display:block;width:100%!important;max-width:100%;min-height:42rem;border:0}
.cp-eventfrog-placeholder{display:grid;min-height:22rem;padding:2rem;place-items:center;align-content:center;text-align:center;color:#665c50;border:2px dashed rgba(168,78,43,.32);border-radius:1.1rem;background:#fff8f3}
.cp-ticket-fallback{margin-top:1rem;text-align:center;color:#665c50;font-size:.92rem}
.cp-ticket-info-grid{padding-bottom:clamp(4rem,8vw,7rem)}
.cp-ticket-info-card{height:100%;padding:1.5rem;border:1px solid rgba(50,42,0,.1);border-radius:1.3rem;background:#fff}
.cp-ticket-info-card h3{margin-top:0;font-family:var(--cp-society-font,system-ui)}
.cp-ticket-info-card p{margin-bottom:0;color:#665c50}
.cp-ticket-cta{margin-bottom:clamp(4rem,8vw,7rem)!important;padding:clamp(1.5rem,4vw,3rem);color:#fff;border-radius:1.7rem;background:linear-gradient(135deg,#322a00,#4a3305)}
.cp-ticket-cta h2{margin:.25rem 0 0;color:#fff}
@media(max-width:782px){.cp-ticket-hero{padding-top:3.2rem;padding-bottom:3.2rem}.cp-ticket-hero h1{max-width:none}.cp-ticket-trust-card{margin-top:1rem}.cp-eventfrog-embed{border-radius:1rem}.cp-eventfrog-embed iframe{min-height:48rem}.cp-ticket-cta{align-items:flex-start!important;flex-direction:column}}


/* Veranstaltungslayout – v2.3.0
 * Karten reagieren auf ihre tatsächliche Containerbreite und nicht nur auf
 * die Breite des Browserfensters. So bleiben sie auch in schmalen Spalten lesbar.
 */
.cp-dynamic-event {
  container-type: inline-size;
  min-width: 0;
}

.cp-dynamic-event--featured {
  display: block !important;
  width: 100%;
  min-width: 0;
}

.cp-dynamic-event__body {
  min-width: 0;
  overflow: hidden;
}

.cp-dynamic-event h3 {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
  text-wrap: balance;
}

.cp-dynamic-event h3 a {
  overflow-wrap: normal;
  word-break: normal;
}

.cp-dynamic-event__meta {
  display: grid;
  gap: 1rem;
}

.cp-dynamic-event__meta div {
  display: block !important;
  min-width: 0;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(50,42,0,.12);
}

.cp-dynamic-event--featured .cp-dynamic-event__meta div {
  border-bottom-color: rgba(255,255,255,.16);
}

.cp-dynamic-event__meta dt {
  display: block;
  margin-bottom: .3rem;
  font-size: .72rem;
  line-height: 1.3;
}

.cp-dynamic-event__meta dd {
  display: block;
  max-width: 100%;
  margin: 0;
  font-size: clamp(1rem, .92rem + .35vw, 1.18rem);
  line-height: 1.5;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.cp-dynamic-event__body > p:not(.cp-event-label) {
  max-width: 64ch;
  line-height: 1.7;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.cp-event-label {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(223,116,71,.14);
  color: #a84e2b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cp-dynamic-event--featured .cp-event-label {
  color: #ffd5c2 !important;
  background: rgba(223,116,71,.18);
}

.cp-event-list-grid {
  align-items: stretch;
}

.cp-event-list-grid > * {
  min-width: 0;
}

/* A featured card becomes two-column only when the card itself has enough room. */
@container (min-width: 700px) {
  .cp-dynamic-event--featured.has-event-image {
    display: grid !important;
    grid-template-columns: minmax(16rem, .8fr) minmax(24rem, 1.2fr) !important;
  }

  .cp-dynamic-event--featured.has-event-image .cp-dynamic-event__image {
    min-height: 100%;
  }

  .cp-dynamic-event--featured.has-event-image .cp-dynamic-event__image img {
    min-height: 100%;
  }

  .cp-dynamic-event--featured .cp-dynamic-event__meta {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .cp-dynamic-event--featured .cp-dynamic-event__meta div {
    padding-right: 1rem;
  }
}

@container (max-width: 699px) {
  .cp-dynamic-event__image {
    min-height: 13rem;
    max-height: 23rem;
  }

  .cp-dynamic-event__body {
    padding: clamp(1.25rem, 6cqw, 2rem) !important;
  }

  .cp-dynamic-event h3 {
    font-size: clamp(1.55rem, 8cqw, 2.25rem);
  }

  .cp-dynamic-event__actions {
    display: grid !important;
    gap: .65rem;
  }

  .cp-dynamic-event__actions .wp-block-button,
  .cp-dynamic-event__actions .wp-block-button__link {
    width: 100%;
  }

  .cp-dynamic-event__actions .wp-block-button__link {
    text-align: center;
  }
}

/* Single event page */
.cp-event-single-section {
  padding-top: clamp(2rem, 5vw, 4.5rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.single-cp_event .cp-dynamic-event--featured {
  width: min(100%, 72rem);
  max-width: 72rem;
  margin-inline: auto;
}

.single-cp_event .cp-event-single-content {
  width: min(100%, 53rem);
  margin-top: clamp(2.5rem, 6vw, 5rem);
  padding: clamp(1.35rem, 4vw, 3.25rem);
  border: 1px solid rgba(50,42,0,.1);
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.2rem 3.5rem rgba(50,42,0,.07);
}

.single-cp_event .cp-event-single-content > * {
  max-width: 100%;
}

.single-cp_event .cp-event-single-content h2 {
  margin-top: 2.25rem;
  margin-bottom: .75rem;
  font-size: clamp(1.65rem, 1.35rem + 1vw, 2.35rem);
  line-height: 1.15;
}

.single-cp_event .cp-event-single-content h2:first-child {
  margin-top: 0;
}

.single-cp_event .cp-event-single-content p,
.single-cp_event .cp-event-single-content li {
  font-size: clamp(1rem, .96rem + .2vw, 1.12rem);
  line-height: 1.75;
}

.single-cp_event .cp-event-single-content ul,
.single-cp_event .cp-event-single-content ol {
  padding-left: 1.35rem;
}

.single-cp_event .cp-event-single-content li + li {
  margin-top: .55rem;
}

@media (max-width: 620px) {
  .cp-next-event-block,
  .cp-event-list-block {
    width: 100%;
    max-width: 100%;
  }

  .single-cp_event .cp-event-single-content {
    padding: 1.25rem;
    border-radius: 1rem;
  }

  .cp-dynamic-event__meta dd {
    font-size: 1rem;
  }
}


/* Automatic WordPress page titles – v2.4.0
 * Page patterns already contain their own designed H1/hero heading.
 * Hide only an automatic Post Title block placed directly in the page shell.
 */
body.page:not(.home) main.cp-content-shell > .wp-block-post-title:first-child,
body.page:not(.home) main.cp-page-main > .wp-block-post-title:first-child,
body.page:not(.home) .wp-site-blocks > main > .wp-block-post-title:first-child {
  display: none !important;
}

/* Remove obsolete space left by older page templates after hiding the title. */
body.page:not(.home) main.cp-content-shell:has(> .wp-block-post-title:first-child) {
  padding-top: 0;
}

/* Normal page content and the intentional hero H1 remain visible. */
.cp-page-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}


/* Navigation and page patterns – v2.5.0 */
.cp-primary-nav .wp-block-navigation__submenu-container {
  min-width: 15.5rem !important;
  padding: .55rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 1rem !important;
  background: #322a00 !important;
  box-shadow: 0 1.25rem 3.5rem rgba(0,0,0,.24) !important;
}

.cp-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
  width: 100%;
}

.cp-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  width: 100%;
  padding: .7rem .85rem !important;
  border-radius: .65rem;
  color: #fff !important;
  font-size: .92rem;
  white-space: nowrap;
}

.cp-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.cp-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
  color: #322a00 !important;
  background: #f7f1e7 !important;
}

.cp-primary-nav .wp-block-navigation-submenu__toggle {
  color: inherit !important;
}

.cp-menu-card-grid {
  gap: 1rem;
  margin-top: 1rem;
}

.cp-menu-card,
.cp-exhibitor-card {
  height: 100%;
  padding: 1.5rem;
  border: 1px solid rgba(50,42,0,.1);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 .9rem 2.8rem rgba(50,42,0,.06);
}

.cp-menu-card h3,
.cp-exhibitor-card h3 {
  margin-top: .5rem;
}

.cp-menu-card p:last-child {
  margin-top: auto;
}

.cp-menu-card a {
  color: #a84e2b;
  font-weight: 750;
  text-decoration: none;
}

.cp-map-placeholder,
.cp-floorplan-placeholder {
  display: grid;
  min-height: 22rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 2rem;
  place-items: center;
  align-content: center;
  text-align: center;
  border: 2px dashed rgba(168,78,43,.3);
  border-radius: 1.4rem;
  background: #fff8f3;
}

.cp-floorplan-placeholder {
  min-height: 34rem;
}

.cp-logo-placeholder {
  display: grid;
  min-height: 10rem;
  place-items: center;
  color: #8d8275;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .18em;
  border-radius: .9rem;
  background: #f1eadf;
}

@media (max-width: 1120px) {
  .cp-header-inner {
    gap: 1rem;
  }

  .cp-primary-nav {
    font-size: .92rem;
  }

  .cp-primary-nav .wp-block-navigation__container {
    gap: .75rem !important;
  }
}

@media (max-width: 782px) {
  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 1.5rem;
    color: #fff;
    background: #322a00;
  }

  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    width: 100%;
    gap: .25rem !important;
  }

  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static !important;
    min-width: 0 !important;
    margin: .35rem 0 .7rem 1rem !important;
    padding: .3rem !important;
    border: 0 !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.05) !important;
  }

  .cp-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    padding: .65rem .7rem !important;
  }
}

/* Editorial templates – v2.6.0 */
.cp-article-hero{padding:clamp(4rem,9vw,8rem) 1.5rem clamp(5rem,10vw,9rem);color:#fff;background:radial-gradient(circle at 82% 16%,rgba(223,116,71,.24),transparent 30rem),linear-gradient(135deg,#211c00,#3b3100 64%,#54380a)}
.cp-article-hero__inner h1{max-width:14ch;margin:.55rem 0 1.15rem;color:#fff;font-size:clamp(3rem,6.5vw,6.5rem);line-height:.95;letter-spacing:-.05em;text-wrap:balance}
.cp-article-kicker a,.cp-article-kicker{color:#ef8b5e;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}
.cp-article-lead{max-width:48rem;color:rgba(255,255,255,.82);font-size:clamp(1.1rem,1rem + .55vw,1.45rem);line-height:1.6}.cp-article-meta{margin-top:1.5rem;color:rgba(255,255,255,.66);font-size:.9rem}
.cp-article-media{position:relative;z-index:2;margin-top:clamp(-4rem,-7vw,-6rem)!important}.cp-article-media:has(.wp-block-post-featured-image:empty){display:none}.cp-article-media img{width:100%;max-height:38rem;object-fit:cover;box-shadow:0 1.5rem 4rem rgba(50,42,0,.18)}
.cp-article-shell{padding:clamp(3rem,7vw,6rem) 1.25rem}.cp-article-shell>*{max-width:100%}.cp-article-shell h2{margin-top:2.6rem;font-size:clamp(1.75rem,1.45rem + 1.25vw,2.65rem);line-height:1.15}.cp-article-shell p,.cp-article-shell li{font-size:clamp(1rem,.96rem + .2vw,1.12rem);line-height:1.8}
.cp-article-intro{font-size:clamp(1.2rem,1.08rem + .55vw,1.55rem)!important;line-height:1.6!important;color:#51483c}.cp-society-news-hero{background:radial-gradient(circle at 82% 16%,rgba(218,164,70,.19),transparent 30rem),linear-gradient(135deg,#161400,#302900 64%,#4a360b)}
.cp-society-news-highlight{margin:2rem 0;padding:clamp(1.4rem,4vw,2.5rem);border-left:.28rem solid #df7447;border-radius:0 1rem 1rem 0;background:#fff8f3}
@media(max-width:700px){.cp-article-hero{padding-top:3.25rem;padding-bottom:5rem}.cp-article-hero__inner h1{max-width:none;font-size:clamp(2.7rem,14vw,4.8rem)}.cp-article-media{margin-top:-2.6rem!important}.cp-article-shell{padding-top:2.5rem}}


/* Legal, footer and listing templates – v2.7.0 */
.cp-legal-hero,
.cp-listing-hero {
  padding: clamp(4rem, 9vw, 8rem) 1.5rem;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(223,116,71,.2), transparent 28rem),
    linear-gradient(135deg, #211c00, #3b3100 64%, #503609);
}

.cp-legal-hero h1,
.cp-listing-hero h1 {
  max-width: 15ch;
  margin: .5rem 0 1rem;
  color: #fff;
  font-size: clamp(3rem, 6.5vw, 6.4rem);
  line-height: .95;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.cp-legal-lead {
  max-width: 48rem;
  color: rgba(255,255,255,.82);
  font-size: clamp(1.1rem, 1rem + .5vw, 1.42rem);
}

.cp-legal-section {
  padding: clamp(3.5rem, 8vw, 7rem) 1.25rem;
}

.cp-legal-layout {
  padding: clamp(1.4rem, 4vw, 3.4rem);
  border: 1px solid rgba(50,42,0,.1);
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.2rem 3.5rem rgba(50,42,0,.07);
}

.cp-legal-layout h2 {
  margin-top: 2.6rem;
  margin-bottom: .75rem;
  font-size: clamp(1.55rem, 1.3rem + .9vw, 2.25rem);
  line-height: 1.18;
}

.cp-legal-layout h2:first-of-type {
  margin-top: 1.5rem;
}

.cp-legal-layout p,
.cp-legal-layout li {
  line-height: 1.75;
}

.cp-legal-warning {
  padding: 1rem 1.15rem;
  border-left: .3rem solid #df7447;
  border-radius: 0 .8rem .8rem 0;
  color: #5b3a2b;
  background: #fff4ed;
}

.cp-site-footer-v27 .wp-block-columns {
  row-gap: 2.5rem;
}

.cp-site-footer-v27 .cp-cookie-note {
  max-width: 20rem;
  margin-top: 1.2rem;
  color: rgba(255,255,255,.62);
  line-height: 1.55;
}

.cp-listing-shell {
  padding: clamp(3.5rem, 8vw, 7rem) 1.25rem;
}

.cp-search-card,
.cp-archive-card {
  padding: 1.4rem;
  border: 1px solid rgba(50,42,0,.1);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 .8rem 2.5rem rgba(50,42,0,.06);
}

.cp-search-card + .cp-search-card {
  margin-top: 1rem;
}

.cp-search-card h2,
.cp-archive-card h2 {
  margin: .35rem 0 .7rem;
  font-size: clamp(1.4rem, 1.2rem + .65vw, 2rem);
}

.cp-search-card h2 a,
.cp-archive-card h2 a {
  color: #322a00;
  text-decoration: none;
}

.cp-archive-card {
  overflow: hidden;
}

.cp-archive-card .wp-block-post-featured-image {
  margin: -1.4rem -1.4rem 1.2rem;
}

.cp-archive-card .wp-block-post-featured-image img {
  width: 100%;
  object-fit: cover;
}

.cp-archive-card .wp-block-post-date {
  color: #a84e2b;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}

@media (max-width: 780px) {
  .cp-legal-hero,
  .cp-listing-hero {
    padding-top: 3.25rem;
    padding-bottom: 4rem;
  }

  .cp-legal-hero h1,
  .cp-listing-hero h1 {
    max-width: none;
    font-size: clamp(2.7rem, 14vw, 4.8rem);
  }

  .cp-legal-layout {
    padding: 1.25rem;
    border-radius: 1rem;
  }
}


/* Sticky premium header – v2.8.0 */
.cp-site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  background: rgba(50,42,0,.94);
  box-shadow: 0 .45rem 1.8rem rgba(0,0,0,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition:
    background-color .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.admin-bar .cp-site-header {
  top: 32px;
}

.cp-site-header .cp-header-inner {
  min-height: 5.25rem;
  transition:
    min-height .22s ease,
    padding .22s ease;
}

.cp-site-header .wp-block-site-logo img {
  width: auto;
  max-height: 4rem;
  transition:
    max-height .22s ease,
    transform .22s ease;
}

.cp-site-header.is-scrolled {
  background: rgba(38,32,0,.88);
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 .7rem 2.2rem rgba(0,0,0,.18);
}

.cp-site-header.is-scrolled .cp-header-inner {
  min-height: 4.2rem;
}

.cp-site-header.is-scrolled .wp-block-site-logo img {
  max-height: 3rem;
}

.cp-site-header .cp-primary-nav .wp-block-navigation-item__content,
.cp-site-header .cp-primary-nav .wp-block-navigation-submenu__toggle {
  transition:
    color .2s ease,
    background-color .2s ease,
    opacity .2s ease;
}

.cp-site-header .cp-nav-cta > .wp-block-navigation-item__content {
  padding: .7rem 1rem !important;
  border-radius: 999px;
  color: #322a00 !important;
  background: #df7447;
  font-weight: 800;
}

.cp-site-header .cp-nav-cta > .wp-block-navigation-item__content:hover,
.cp-site-header .cp-nav-cta > .wp-block-navigation-item__content:focus-visible {
  background: #f08b5d;
}

@media (max-width: 782px) {
  .admin-bar .cp-site-header {
    top: 46px;
  }

  .cp-site-header .cp-header-inner,
  .cp-site-header.is-scrolled .cp-header-inner {
    min-height: 4.4rem;
  }

  .cp-site-header .wp-block-site-logo img,
  .cp-site-header.is-scrolled .wp-block-site-logo img {
    max-height: 3.1rem;
  }

  .cp-site-header .wp-block-navigation__responsive-container-open {
    color: #fff;
  }
}

@media (max-width: 600px) {
  .admin-bar .cp-site-header {
    top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cp-site-header,
  .cp-site-header .cp-header-inner,
  .cp-site-header .wp-block-site-logo img,
  .cp-site-header .cp-primary-nav .wp-block-navigation-item__content,
  .cp-site-header .cp-primary-nav .wp-block-navigation-submenu__toggle {
    transition: none !important;
  }
}

/* Sponsoren & Partner – v2.9.0 */
.cp-sponsors-hero{padding:clamp(4rem,9vw,8rem) 1.5rem;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(223,116,71,.24),transparent 29rem),linear-gradient(135deg,#211c00,#3b3100 64%,#54380a)}
.cp-sponsors-hero h1{max-width:14ch;margin:.5rem 0 1rem;color:#fff;font-size:clamp(3rem,6.5vw,6.5rem);line-height:.95;letter-spacing:-.05em;text-wrap:balance}.cp-sponsors-hero__lead{max-width:50rem;color:rgba(255,255,255,.82);font-size:clamp(1.1rem,1rem + .55vw,1.45rem);line-height:1.65}.cp-sponsors-section{padding-top:clamp(3.5rem,8vw,7rem);padding-bottom:clamp(4rem,9vw,8rem)}.cp-sponsor-tier+.cp-sponsor-tier{margin-top:clamp(3.5rem,8vw,7rem)}.cp-sponsor-tier__heading{margin-bottom:1.5rem}.cp-sponsor-tier__heading h2{margin:.3rem 0;font-size:clamp(2rem,1.65rem + 1.5vw,3.4rem)}.cp-sponsor-grid{display:grid;gap:1rem}.cp-sponsor-tier--ambassador .cp-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-sponsor-tier--cask .cp-sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-sponsor-tier--dram .cp-sponsor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cp-sponsor-card{min-width:0;padding:1.15rem;text-align:center;border:1px solid rgba(50,42,0,.1);border-radius:1.35rem;background:#fff;box-shadow:0 .8rem 2.5rem rgba(50,42,0,.06);transition:transform .2s ease,box-shadow .2s ease}.cp-sponsor-card:hover{transform:translateY(-.18rem);box-shadow:0 1.2rem 3rem rgba(50,42,0,.1)}.cp-sponsor-card__logo{display:grid;width:100%;min-height:10rem;padding:1rem;place-items:center;overflow:hidden;border-radius:.9rem;background:#fff}.cp-sponsor-tier--ambassador .cp-sponsor-card__logo{min-height:14rem}.cp-sponsor-tier--dram .cp-sponsor-card__logo{min-height:8rem}.cp-sponsor-card__logo img{width:100%;height:100%;max-height:10rem;object-fit:contain}.cp-sponsor-tier--ambassador .cp-sponsor-card__logo img{max-height:13rem}.cp-sponsor-tier--dram .cp-sponsor-card__logo img{max-height:7rem}.cp-sponsor-card__fallback{color:#6d6257;font-size:1.05rem;font-weight:800}.cp-sponsor-card h3{margin:.85rem 0 .35rem;font-family:var(--cp-society-font,system-ui);font-size:1.05rem}.cp-sponsor-card p{margin:0;color:#6d6257;font-size:.9rem;line-height:1.55}.cp-sponsor-cta{margin-top:clamp(4rem,9vw,8rem)!important;padding:clamp(1.5rem,4vw,3rem);color:#fff;border-radius:1.7rem;background:linear-gradient(135deg,#322a00,#4a3305)}.cp-sponsor-cta h2{margin:.25rem 0 .5rem;color:#fff}.cp-sponsor-cta p{max-width:48rem;color:rgba(255,255,255,.76)}.cp-sponsor-empty{padding:2rem;text-align:center;border:2px dashed rgba(168,78,43,.3);border-radius:1.2rem;background:#fff8f3}.cp-sponsor-showcase--compact .cp-sponsor-tier+.cp-sponsor-tier{margin-top:2.8rem}.cp-sponsor-showcase--compact .cp-sponsor-card p{display:none}.cp-home-sponsors .cp-section-heading a{color:#a84e2b;font-weight:800;text-decoration:none}@media(max-width:900px){.cp-sponsor-tier--cask .cp-sponsor-grid,.cp-sponsor-tier--dram .cp-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cp-sponsors-hero{padding-top:3.25rem;padding-bottom:4rem}.cp-sponsors-hero h1{max-width:none;font-size:clamp(2.7rem,14vw,4.8rem)}.cp-sponsor-tier--ambassador .cp-sponsor-grid,.cp-sponsor-tier--cask .cp-sponsor-grid,.cp-sponsor-tier--dram .cp-sponsor-grid{grid-template-columns:1fr}.cp-sponsor-cta{align-items:flex-start!important;flex-direction:column}}@media(prefers-reduced-motion:reduce){.cp-sponsor-card{transition:none!important}}


/* Reliable fixed header correction – v2.9.1 */
html.cp-fixed-header-enabled {
  scroll-padding-top: calc(var(--cp-fixed-header-height, 84px) + 1rem);
}

html.cp-fixed-header-enabled .wp-site-blocks {
  padding-top: var(--cp-fixed-header-height, 84px);
}

html.cp-fixed-header-enabled header.cp-fixed-header-shell {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 100000 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

html.cp-fixed-header-enabled header.cp-fixed-header-shell .cp-site-header {
  position: static !important;
  top: auto !important;
  width: 100%;
  margin: 0 !important;
}

body.admin-bar header.cp-fixed-header-shell {
  top: 32px !important;
}

body.admin-bar html.cp-fixed-header-enabled .wp-site-blocks {
  padding-top: var(--cp-fixed-header-height, 84px);
}

@media (max-width: 782px) {
  body.admin-bar header.cp-fixed-header-shell {
    top: 46px !important;
  }
}

@media (max-width: 600px) {
  body.admin-bar header.cp-fixed-header-shell {
    top: 0 !important;
  }
}

/* Automatically appended landing-page sponsor section. */
.cp-home-sponsors-auto {
  padding: clamp(3.5rem, 8vw, 7rem) 1.25rem;
  background: #f7f1e8;
}

.cp-home-sponsors-auto__heading {
  margin-bottom: 2rem;
}

.cp-home-sponsors-auto__heading h2 {
  margin: .3rem 0 .65rem;
  font-size: clamp(2.1rem, 1.7rem + 1.6vw, 3.6rem);
}

.cp-home-sponsors-auto__heading p:last-child {
  max-width: 50rem;
  color: #665c50;
  line-height: 1.65;
}

.cp-home-sponsors-auto__footer {
  margin-top: 2rem !important;
}

.cp-home-sponsors-auto__footer a {
  color: #a84e2b;
  font-weight: 800;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  html.cp-fixed-header-enabled {
    scroll-behavior: auto;
  }
}


/* Premium typography system – v2.10.0 */
:root {
  --cp-font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

  --cp-font-body:
    Inter,
    ui-sans-serif,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Helvetica,
    Arial,
    sans-serif;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--cp-font-body);
}

body {
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.cp-display-title,
.cp-hero-title,
.wp-block-post-title,
.wp-block-query-title,
.cp-article-hero__inner h1,
.cp-legal-hero h1,
.cp-listing-hero h1,
.cp-sponsors-hero h1 {
  font-family: var(--cp-font-display) !important;
  font-weight: 700;
  font-variation-settings: normal;
  letter-spacing: -.045em;
  text-wrap: balance;
}

h1,
.cp-hero-title,
.cp-article-hero__inner h1,
.cp-legal-hero h1,
.cp-listing-hero h1,
.cp-sponsors-hero h1 {
  line-height: .94;
}

h2 {
  line-height: 1.02;
}

h3 {
  line-height: 1.08;
}

p,
li,
.wp-block-navigation,
.wp-block-button,
.wp-block-post-date,
.wp-block-post-author-name,
.cp-eyebrow,
.cp-article-kicker,
.cp-article-meta {
  font-family: var(--cp-font-body);
}

.cp-eyebrow,
.cp-article-kicker,
.cp-archive-card .wp-block-post-date {
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cp-site-header .wp-block-navigation-item__content,
.cp-site-header .wp-block-navigation-submenu__toggle,
.wp-block-button__link {
  font-family: var(--cp-font-body);
  font-weight: 700;
  letter-spacing: -.01em;
}

.cp-article-intro,
.cp-legal-lead,
.cp-sponsors-hero__lead,
.cp-article-lead {
  font-family: var(--cp-font-body);
  letter-spacing: -.01em;
}

blockquote,
.wp-block-quote p,
.wp-block-pullquote p {
  font-family: var(--cp-font-display);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.08;
}

.cp-site-footer-v27 h3 {
  font-family: var(--cp-font-body) !important;
  font-weight: 800;
  letter-spacing: -.015em;
}

/* Stronger editorial treatment for the main homepage claim. */
.cp-home-hero h1,
.cp-home-hero .wp-block-heading {
  max-width: 12ch;
  font-family: var(--cp-font-display) !important;
  font-size: clamp(3.4rem, 8.5vw, 8rem);
  line-height: .9;
  letter-spacing: -.055em;
}

@media (max-width: 700px) {
  .cp-home-hero h1,
  .cp-home-hero .wp-block-heading {
    max-width: none;
    font-size: clamp(3rem, 15vw, 5.8rem);
    line-height: .92;
  }

  h1,
  h2,
  h3 {
    letter-spacing: -.035em;
  }
}


/* WP Cloud Plugins / Share-one-Drive integration – v2.11.0 */
.cp-cloud-hero{padding:clamp(4rem,9vw,8rem) 1.5rem;color:#fff;background:radial-gradient(circle at 82% 16%,rgba(223,116,71,.24),transparent 30rem),linear-gradient(135deg,#211c00,#3b3100 64%,#54380a)}
.cp-cloud-hero--upload{background:radial-gradient(circle at 82% 16%,rgba(223,116,71,.18),transparent 30rem),linear-gradient(135deg,#1d1a04,#302900 64%,#43310a)}
.cp-cloud-hero h1{max-width:14ch;margin:.5rem 0 1rem;color:#fff;font-family:var(--cp-font-display);font-size:clamp(3rem,6.5vw,6.5rem);line-height:.94;letter-spacing:-.05em;text-wrap:balance}
.cp-cloud-hero__lead{max-width:50rem;color:rgba(255,255,255,.82);font-size:clamp(1.1rem,1rem + .55vw,1.45rem);line-height:1.65}
.cp-cloud-page-section,.cp-cloud-section{padding:clamp(3.5rem,8vw,7rem) 1.25rem}.cp-cloud-module{width:min(100%,1180px);margin-inline:auto}.cp-cloud-module__header{max-width:52rem;margin-bottom:1.6rem}.cp-cloud-module__header h2{margin:.3rem 0 .65rem;font-size:clamp(2rem,1.65rem + 1.5vw,3.4rem)}.cp-cloud-module__intro{color:#665c50;line-height:1.7}.cp-cloud-module__intro p{margin:0}.cp-cloud-module__content{min-height:5rem;overflow:hidden;border:1px solid rgba(50,42,0,.1);border-radius:1.35rem;background:#fff;box-shadow:0 .9rem 2.8rem rgba(50,42,0,.07)}.cp-cloud-module--gallery .cp-cloud-module__content{padding:clamp(.5rem,1.5vw,1rem)}.cp-cloud-module--files .cp-cloud-module__content,.cp-cloud-module--upload .cp-cloud-module__content{padding:clamp(1rem,2.5vw,1.6rem)}.cp-cloud-module__setup{padding:clamp(1.5rem,4vw,2.5rem);border:2px dashed rgba(168,78,43,.32);border-radius:1rem;color:#5b3a2b;background:#fff8f3}.cp-cloud-module__setup strong{display:block;margin-bottom:.5rem;font-size:1.1rem}.cp-cloud-module__setup p{margin:0;line-height:1.65}.cp-cloud-module__note{margin-top:.85rem;color:#74695d;font-size:.88rem;line-height:1.55}.cp-cloud-module__content img,.cp-cloud-module__content iframe,.cp-cloud-module__content video{max-width:100%}.cp-cloud-module__content iframe{width:100%}
@media(max-width:700px){.cp-cloud-hero{padding-top:3.25rem;padding-bottom:4rem}.cp-cloud-hero h1{max-width:none;font-size:clamp(2.7rem,14vw,4.8rem)}.cp-cloud-module__content{border-radius:1rem}}


/* Landing-page color correction and downloads – v2.11.1 */
.cp-cloud-page-section,
.cp-cloud-section {
  background: #f7f1e8;
}

.cp-cloud-module__content {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cp-cloud-module--gallery .cp-cloud-module__content,
.cp-cloud-module--files .cp-cloud-module__content,
.cp-cloud-module--upload .cp-cloud-module__content {
  padding: 0;
}

.cp-cloud-module__setup {
  border: 1px solid rgba(50,42,0,.12);
  border-radius: 1rem;
  background: rgba(255,255,255,.48);
  box-shadow: none;
}

.cp-home-downloads {
  padding: clamp(3.5rem, 8vw, 7rem) 1.25rem;
  color: #fff;
  background:
    radial-gradient(circle at 82% 16%, rgba(223,116,71,.17), transparent 28rem),
    linear-gradient(135deg, #211c00, #3b3100 65%, #4a3408);
}

.cp-home-downloads__intro {
  gap: 2rem;
  margin-bottom: 2rem;
  align-items: center !important;
}

.cp-home-downloads .cp-eyebrow {
  color: #df7447;
}

.cp-home-downloads h2 {
  margin: .3rem 0 .7rem;
  color: #fff;
  font-size: clamp(2.1rem, 1.7rem + 1.6vw, 3.6rem);
}

.cp-home-downloads__lead {
  max-width: 48rem;
  color: rgba(255,255,255,.78);
  font-size: clamp(1rem, .95rem + .3vw, 1.2rem);
  line-height: 1.65;
}

.cp-home-downloads__action {
  display: flex;
  justify-content: flex-end;
}

.cp-home-downloads .cp-cloud-module__header {
  display: none;
}

.cp-home-downloads .cp-cloud-module__note {
  color: rgba(255,255,255,.62);
}

.cp-home-downloads .cp-cloud-module__setup {
  color: rgba(255,255,255,.86);
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.07);
}

.cp-home-downloads .cp-cloud-module__setup p {
  color: rgba(255,255,255,.68);
}

@media (max-width: 780px) {
  .cp-home-downloads__intro {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .cp-home-downloads__action {
    justify-content: flex-start;
  }
}


/* Refined homepage gallery and downloads removal – v2.11.2 */
.home .cp-home-downloads,
.front-page .cp-home-downloads {
  display: none !important;
}

.cp-home-gallery {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 9vw, 8rem) 1.25rem;
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(223,116,71,.23), transparent 27rem),
    radial-gradient(circle at 12% 85%, rgba(255,255,255,.06), transparent 24rem),
    linear-gradient(135deg, #211c00, #332b00 58%, #4b3308);
}

.cp-home-gallery::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .17;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 34px 34px;
}

.cp-home-gallery > * {
  position: relative;
  z-index: 1;
}

.cp-home-gallery__heading {
  gap: 2rem;
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.cp-home-gallery .cp-eyebrow {
  color: #df7447;
}

.cp-home-gallery h2 {
  max-width: 12ch;
  margin: .3rem 0 .7rem;
  color: #fff;
  font-size: clamp(2.5rem, 2rem + 2.2vw, 5rem);
  line-height: .96;
}

.cp-home-gallery__lead {
  max-width: 48rem;
  color: rgba(255,255,255,.76);
  font-size: clamp(1.05rem, .98rem + .35vw, 1.25rem);
  line-height: 1.65;
}

.cp-home-gallery__heading .wp-block-button.is-style-outline .wp-block-button__link,
.cp-home-gallery__action .wp-block-button__link {
  color: #fff;
  border: 1px solid rgba(255,255,255,.42);
  background: transparent;
}

.cp-home-gallery__heading .wp-block-button.is-style-outline .wp-block-button__link:hover,
.cp-home-gallery__action .wp-block-button__link:hover {
  color: #322a00;
  border-color: #df7447;
  background: #df7447;
}

.cp-home-gallery__frame {
  overflow: hidden;
  padding: clamp(.55rem, 1.4vw, 1rem);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: clamp(1rem, 2vw, 1.8rem);
  background: rgba(255,255,255,.075);
  box-shadow: 0 1.5rem 4.5rem rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.cp-home-gallery .cp-cloud-module,
.cp-home-gallery .cp-cloud-module__content {
  width: 100%;
  margin: 0;
}

.cp-home-gallery .cp-cloud-module__header,
.cp-home-gallery .cp-cloud-module__note {
  display: none;
}

.cp-home-gallery .cp-cloud-module__content {
  min-height: 16rem;
  padding: 0;
  border: 0;
  border-radius: 1.1rem;
  background: transparent;
  box-shadow: none;
}

.cp-home-gallery .cp-cloud-module__setup {
  min-height: 16rem;
  display: grid;
  place-content: center;
  text-align: center;
  color: rgba(255,255,255,.88);
  border: 1px dashed rgba(255,255,255,.3);
  background: rgba(255,255,255,.055);
}

.cp-home-gallery .cp-cloud-module__setup p {
  color: rgba(255,255,255,.62);
}

@media (max-width: 780px) {
  .cp-home-gallery__heading {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .cp-home-gallery h2 {
    max-width: none;
  }

  .cp-home-gallery__action {
    display: flex;
    justify-content: flex-start;
  }

  .cp-home-gallery__frame {
    padding: .45rem;
    border-radius: 1rem;
  }
}


/* Gallery visual correction – v2.11.3 */
.cp-home-gallery {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 9vw, 7rem) 1.25rem;
  color: #322a00;
  background:
    radial-gradient(circle at 82% 18%, rgba(223,116,71,.11), transparent 26rem),
    linear-gradient(180deg, #f7f1e8, #f2eadf);
}

.cp-home-gallery::before {
  display: none;
}

.cp-home-gallery .cp-eyebrow {
  color: #a84e2b;
}

.cp-home-gallery h2 {
  color: #322a00;
}

.cp-home-gallery__lead {
  color: #665c50;
}

.cp-home-gallery__heading .wp-block-button.is-style-outline .wp-block-button__link,
.cp-home-gallery__action .wp-block-button__link {
  color: #322a00;
  border: 1px solid rgba(50,42,0,.3);
  background: transparent;
}

.cp-home-gallery__heading .wp-block-button.is-style-outline .wp-block-button__link:hover,
.cp-home-gallery__action .wp-block-button__link:hover {
  color: #322a00;
  border-color: #df7447;
  background: #df7447;
}

.cp-home-gallery__frame {
  padding: clamp(.65rem, 1.4vw, 1rem);
  border: 1px solid rgba(50,42,0,.11);
  border-radius: clamp(1rem, 2vw, 1.6rem);
  background: rgba(255,255,255,.55);
  box-shadow: 0 1.1rem 3.5rem rgba(50,42,0,.09);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.cp-home-gallery .cp-cloud-module__content {
  min-height: 0;
  border-radius: 1rem;
}

.cp-home-gallery__teaser {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 1.1rem;
  align-items: center;
  padding: clamp(1.25rem, 3vw, 2rem);
  color: #322a00;
  text-decoration: none;
  border: 1px solid rgba(50,42,0,.11);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.62);
  box-shadow: 0 .9rem 2.8rem rgba(50,42,0,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.cp-home-gallery__teaser:hover {
  transform: translateY(-.16rem);
  box-shadow: 0 1.2rem 3.2rem rgba(50,42,0,.11);
}

.cp-home-gallery__teaser-mark {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border-radius: 50%;
  color: #322a00;
  background: #df7447;
  font-size: 1.35rem;
}

.cp-home-gallery__teaser strong,
.cp-home-gallery__teaser small {
  display: block;
}

.cp-home-gallery__teaser strong {
  margin-bottom: .25rem;
  font-family: var(--cp-font-display);
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.7rem);
}

.cp-home-gallery__teaser small {
  color: #6b6155;
  font-size: .95rem;
  line-height: 1.5;
}

.cp-home-gallery__teaser-arrow {
  font-size: 1.6rem;
}

@media (max-width: 620px) {
  .cp-home-gallery__teaser {
    grid-template-columns: auto minmax(0,1fr);
  }

  .cp-home-gallery__teaser-arrow {
    display: none;
  }
}


/* Homepage color-flow cleanup – v2.11.4 */

/* Galerie: komplett ruhig und ohne Farbverlauf. */
.cp-home-gallery {
  background: #f7f1e8 !important;
  background-image: none !important;
}

.cp-home-gallery::before,
.cp-home-gallery::after {
  display: none !important;
  content: none !important;
}

/* Entfernt dunkle leere Zwischenflächen aus früheren Auto-Inserts. */
.home .cp-home-downloads,
.front-page .cp-home-downloads,
.home .cp-cloud-section:empty,
.front-page .cp-cloud-section:empty,
.home .cp-section:empty,
.front-page .cp-section:empty {
  display: none !important;
}

/* Leere SharePoint-Container dürfen keinen dunklen Block erzeugen. */
.home .cp-cloud-module:has(.cp-cloud-module__content:empty),
.front-page .cp-cloud-module:has(.cp-cloud-module__content:empty),
.home .cp-cloud-module__content:empty,
.front-page .cp-cloud-module__content:empty {
  display: none !important;
}

/* Nach Sponsoren folgt wieder ein heller Aktuelles-Bereich. */
.home .cp-home-sponsors-auto + .cp-section,
.front-page .cp-home-sponsors-auto + .cp-section,
.home .cp-home-sponsors + .cp-section,
.front-page .cp-home-sponsors + .cp-section {
  background: #f7f1e8 !important;
  background-image: none !important;
}

/* Aktuelles / News auf hellem Grund. */
.home .cp-news-section,
.front-page .cp-news-section,
.home .cp-latest-news,
.front-page .cp-latest-news {
  background: #f7f1e8 !important;
  background-image: none !important;
}

/* Galerie ebenfalls hell, Society danach wieder dunkel. */
.home .cp-home-gallery,
.front-page .cp-home-gallery {
  color: #322a00;
  background: #f7f1e8 !important;
  background-image: none !important;
}

.home .cp-home-gallery + .cp-society-section,
.front-page .cp-home-gallery + .cp-society-section {
  background:
    radial-gradient(circle at 82% 18%, rgba(223,116,71,.12), transparent 28rem),
    linear-gradient(135deg, #211c00, #322a00 64%, #4a3308) !important;
}

/* Galerie-Teaser und Galerieframe klar, aber ohne zusätzliche Fläche. */
.cp-home-gallery__frame,
.cp-home-gallery__teaser {
  background: #fff !important;
  background-image: none !important;
}

/* verhindert unnötige vertikale Mindesthöhen */
.cp-home-gallery .cp-cloud-module__content,
.cp-home-gallery .cp-cloud-module__setup {
  min-height: 0 !important;
}


/* Legacy homepage cleanup and SharePoint setup readability – v2.11.5 */

/* Der alte automatische Download-/Zwischenblock darf nie mehr sichtbar sein. */
.home .cp-home-downloads,
.front-page .cp-home-downloads {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Leere dunkle Vollbreitenblöcke aus früheren Theme-Versionen. */
.home main > .wp-block-group.alignfull.has-cask-dark-background-color:empty,
.front-page main > .wp-block-group.alignfull.has-cask-dark-background-color:empty,
.home main .wp-block-group.alignfull.has-cask-dark-background-color:has(> .wp-block-group:empty),
.front-page main .wp-block-group.alignfull.has-cask-dark-background-color:has(> .wp-block-group:empty) {
  display: none !important;
}

/* SharePoint-Einrichtungshinweis: dunkle Schrift auf hellem Grund. */
.cp-home-gallery .cp-cloud-module__setup,
.cp-cloud-module__setup {
  color: #322a00 !important;
  background: #fff !important;
  border-color: rgba(50,42,0,.18) !important;
}

.cp-home-gallery .cp-cloud-module__setup strong,
.cp-cloud-module__setup strong {
  color: #322a00 !important;
}

.cp-home-gallery .cp-cloud-module__setup p,
.cp-cloud-module__setup p {
  color: #665c50 !important;
}

.cp-home-gallery .cp-cloud-module__setup a,
.cp-cloud-module__setup a {
  color: #a84e2b !important;
}

/* Kein unnötig hoher Platzhalter bei fehlendem Shortcode. */
.cp-home-gallery .cp-cloud-module__setup {
  min-height: 0 !important;
  padding: clamp(1.25rem, 3vw, 2rem) !important;
}

/* Galerie bleibt vollständig ruhig und hell. */
.home .cp-home-gallery,
.front-page .cp-home-gallery {
  background: #f7f1e8 !important;
  background-image: none !important;
}


/* Sponsor-to-news spacing correction – v2.11.6 */
.home .cp-home-sponsors-auto,
.front-page .cp-home-sponsors-auto,
.home .cp-home-sponsors,
.front-page .cp-home-sponsors {
  padding-bottom: clamp(2.25rem, 4vw, 3.75rem) !important;
}

.home .cp-home-sponsors-auto__footer,
.front-page .cp-home-sponsors-auto__footer {
  margin-bottom: 0 !important;
}

.home .cp-news-after-sponsors,
.front-page .cp-news-after-sponsors {
  padding-top: clamp(2.75rem, 5vw, 4.5rem) !important;
}

/* Fallback before JavaScript adds the marker class. */
.home .cp-home-sponsors-auto + .cp-section,
.front-page .cp-home-sponsors-auto + .cp-section,
.home .cp-home-sponsors + .cp-section,
.front-page .cp-home-sponsors + .cp-section {
  padding-top: clamp(2.75rem, 5vw, 4.5rem) !important;
}

/* Legacy empty cream wrappers must not reserve vertical space. */
.home main .wp-block-group.alignfull:empty,
.front-page main .wp-block-group.alignfull:empty {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 700px) {
  .home .cp-home-sponsors-auto,
  .front-page .cp-home-sponsors-auto,
  .home .cp-home-sponsors,
  .front-page .cp-home-sponsors {
    padding-bottom: 2.25rem !important;
  }

  .home .cp-news-after-sponsors,
  .front-page .cp-news-after-sponsors {
    padding-top: 2.75rem !important;
  }
}

/* Homepage 2.11.7 */
.cp-front-page{margin-top:0!important}.cp-home-hero{position:relative}.cp-home-hero:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(25,22,8,.44));pointer-events:none}.cp-home-hero__inner{position:relative;z-index:2;padding-block:clamp(7rem,15vw,12rem) clamp(5rem,9vw,8rem);margin-left:max(24px,calc((100vw - 1200px)/2))!important}.cp-home-hero h1{max-width:900px;line-height:.96;letter-spacing:-.045em;text-wrap:balance}.cp-home-hero__lead{max-width:700px;line-height:1.55}.cp-home-hero__actions{margin-top:2rem}.cp-home-hero .is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.72)}
.cp-home-facts{padding-block:1.8rem}.cp-home-facts__grid{margin-bottom:0!important;gap:0}.cp-home-facts__grid>.wp-block-column{padding:1rem 2rem;border-left:1px solid rgba(255,255,255,.16)}.cp-home-facts__grid>.wp-block-column:first-child{border-left:0}.cp-home-fact__label{margin:0 0 .35rem;color:var(--wp--preset--color--copper,#df7447);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.cp-home-facts p{margin-top:0;margin-bottom:0;line-height:1.45}
.cp-section-heading--center{margin-bottom:2.75rem}.cp-home-card-grid{gap:1.35rem}.cp-home-discovery-card{height:100%;padding:clamp(1.6rem,3vw,2.4rem);border:1px solid rgba(50,42,0,.12);border-radius:18px;background:#fff;box-shadow:0 12px 40px rgba(50,42,0,.07);transition:transform .2s ease,box-shadow .2s ease}.cp-home-discovery-card:hover{transform:translateY(-5px);box-shadow:0 20px 52px rgba(50,42,0,.12)}.cp-home-card-number{width:44px;height:44px;display:grid;place-items:center;margin:0 0 1.5rem;border-radius:50%;background:var(--wp--preset--color--copper,#df7447);font-weight:900}.cp-home-discovery-card h3{margin-top:0}.cp-home-discovery-card a{font-weight:800;text-decoration:none}
.cp-home-feature-split{gap:clamp(2rem,6vw,6rem)}.cp-home-feature-image img{width:100%;min-height:520px;object-fit:cover;border-radius:22px;box-shadow:0 24px 65px rgba(50,42,0,.18)}.cp-home-feature-copy{max-width:560px}.cp-check-list{padding-left:0;list-style:none}.cp-check-list li{position:relative;padding-left:1.8rem;margin:.65rem 0}.cp-check-list li:before{content:"✓";position:absolute;left:0;color:var(--wp--preset--color--copper,#df7447);font-weight:900}.cp-home-floorplan .cp-home-feature-copy{margin-inline:auto}.cp-home-floorplan-preview{padding:1.2rem;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.cp-mini-plan{position:relative;aspect-ratio:16/10;border:7px solid rgba(255,255,255,.72);border-radius:10px;background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),rgba(255,255,255,.035);background-size:28px 28px}.cp-mini-plan__stand{position:absolute;display:grid;place-items:center;border:2px solid rgba(255,255,255,.65);border-radius:8px;background:#df7447;color:#322a00;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.25)}.cp-mini-plan__stand--1{left:8%;top:13%;width:25%;height:22%}.cp-mini-plan__stand--2{left:42%;top:13%;width:20%;height:22%}.cp-mini-plan__stand--3{left:18%;top:54%;width:22%;height:24%}.cp-mini-plan__stand--4{right:9%;top:50%;width:27%;height:27%}.cp-mini-plan__stage{position:absolute;top:0;right:8%;padding:.35rem 1rem;background:rgba(255,255,255,.8);color:#322a00;font-size:.7rem;font-weight:900}.cp-mini-plan__entrance{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);padding:.3rem 1.2rem;background:#df7447;color:#322a00;font-size:.7rem;font-weight:900}
.cp-photo-grid--home{display:grid!important;grid-template-columns:1.4fr 1fr 1fr!important;grid-template-rows:230px 230px;gap:14px}.cp-photo-grid--home figure{width:100%!important;margin:0!important}.cp-photo-grid--home figure:first-child{grid-row:1/3}.cp-photo-grid--home img{width:100%!important;height:100%!important;object-fit:cover;border-radius:14px}.cp-photo-grid--home figure:nth-child(4){grid-column:2/4}.cp-home-gallery .cp-section-heading{margin-bottom:2rem}
@media(max-width:900px){.cp-home-hero__inner{margin-left:0!important;padding-inline:24px}.cp-home-facts__grid>.wp-block-column{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding-inline:0}.cp-home-facts__grid>.wp-block-column:first-child{border-top:0}.cp-home-feature-image img{min-height:360px}.cp-photo-grid--home{grid-template-columns:1fr 1fr!important;grid-template-rows:260px 200px 200px}.cp-photo-grid--home figure:first-child{grid-column:1/3;grid-row:auto}.cp-photo-grid--home figure:nth-child(4){grid-column:1/3}}
@media(max-width:600px){.cp-home-hero{min-height:680px!important}.cp-home-hero h1{font-size:clamp(2.8rem,14vw,4.2rem)!important}.cp-home-hero__actions .wp-block-button{width:100%}.cp-home-hero__actions .wp-block-button__link{width:100%;text-align:center}.cp-photo-grid--home{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(4,220px)}.cp-photo-grid--home figure:first-child,.cp-photo-grid--home figure:nth-child(4){grid-column:auto}.cp-mini-plan{min-height:300px}}


/* Logo integration – v2.11.8 */
.cp-home-hero__logo {
  margin: 0 0 clamp(1.6rem, 3vw, 2.5rem);
}
.cp-home-hero__logo img {
  display: block;
  width: clamp(180px, 22vw, 250px) !important;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 .6rem 1.4rem rgba(0,0,0,.22));
}
.cp-site-logo--fallback img {
  display: block;
  width: clamp(135px, 14vw, 190px);
  height: auto;
  object-fit: contain;
}
@media (max-width: 600px) {
  .cp-home-hero__logo {
    margin-bottom: 1.35rem;
  }
  .cp-home-hero__logo img {
    width: 170px !important;
  }
  .cp-site-logo--fallback img {
    width: 135px;
  }
}

/* Startseite: Besucher- und Aussteller-Einstiege */
.cp-home-audience-grid{gap:clamp(1.25rem,3vw,2rem);align-items:stretch}.cp-home-audience-grid>.wp-block-column{display:flex}.cp-home-audience-card{position:relative;width:100%;min-height:100%;padding:clamp(1.75rem,4vw,3rem);border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(50,42,0,.1);display:flex;flex-direction:column}.cp-home-audience-card--visitors{border:1px solid rgba(50,42,0,.13);background:linear-gradient(145deg,#fff 0%,var(--wp--preset--color--cream,#f4edd9) 100%)}.cp-home-audience-card--exhibitors{background:linear-gradient(145deg,var(--wp--preset--color--cask-dark,#322a00) 0%,#171500 100%);color:#fff}.cp-home-audience-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;top:-90px;background:rgba(223,116,71,.13);pointer-events:none}.cp-home-audience-icon{position:relative;z-index:1;width:52px;height:52px;margin:0 0 1.35rem;display:grid;place-items:center;border-radius:50%;background:var(--wp--preset--color--copper,#df7447);font-weight:900;color:#181400}.cp-home-audience-card h3{margin-top:.35rem}.cp-home-audience-card .wp-block-buttons{margin-top:auto;padding-top:1rem}.cp-home-audience-card--exhibitors .cp-check-list--light li{color:var(--wp--preset--color--cream,#f4edd9)}.cp-home-audience-card--exhibitors .cp-check-list--light li:before{color:var(--wp--preset--color--copper,#df7447)}@media(max-width:781px){.cp-home-audience-grid{gap:1rem}.cp-home-audience-card{min-height:auto}}

/* 2.15.1 – readability and contrast audit */
:root {
  --cp-readable-muted: #5b5449;
  --cp-on-dark: #fffdf8;
  --cp-on-dark-muted: #efe7da;
  --cp-on-dark-accent: #f1ad85;
}

/* Keep long-form copy comfortable to scan. */
.wp-block-post-content p,
.wp-block-post-content li,
.cp-content-shell p,
.cp-content-shell li {
  line-height: 1.72;
}

.wp-block-post-content p:not([class*="has-"]):not(.cp-hero-copy):not(.cp-page-intro) {
  max-width: 72ch;
}

/* The global heading color in theme.json must not force dark headings onto dark surfaces. */
:where(.has-cask-dark-background-color, .cp-hero, .cp-page-hero, .cp-about-hero, .cp-newsletter-card, .cp-open-bottle, .cp-portal-contact) :where(h1,h2,h3,h4,h5,h6):not(.has-text-color) {
  color: var(--cp-on-dark);
}

:where(.has-cask-dark-background-color, .cp-hero, .cp-page-hero, .cp-about-hero, .cp-newsletter-card, .cp-open-bottle) :where(p,li):not(.has-text-color) {
  color: var(--cp-on-dark-muted);
}

:where(.has-cask-dark-background-color, .cp-hero, .cp-page-hero, .cp-about-hero, .cp-newsletter-card) .cp-eyebrow:not(.cp-eyebrow-dark) {
  color: var(--cp-on-dark-accent);
}

/* Explicitly protect the common hero titles and introductions. */
.cp-hero-title,
.cp-page-title,
.cp-about-title {
  color: var(--cp-on-dark) !important;
}

.cp-hero-copy,
.cp-page-intro,
.cp-about-hero__lead {
  color: var(--cp-on-dark-muted) !important;
}

/* Better readability for muted text and cards on light surfaces. */
.cp-post-meta,
.cp-feature-card p,
.cp-audience-card p,
.cp-contact-card p,
.cp-info-panel.has-white-background-color p {
  color: var(--cp-readable-muted);
}

/* Links remain visibly interactive without relying on color alone. */
.wp-block-post-content a:not(.wp-element-button),
.cp-content-shell a:not(.wp-element-button) {
  text-underline-offset: .18em;
  text-decoration-thickness: .08em;
}

/* Prevent tiny functional copy on phones. */
@media (max-width: 781px) {
  .wp-block-post-content,
  .cp-content-shell {
    font-size: 1rem;
  }
  .cp-page-intro,
  .cp-hero-copy {
    font-size: clamp(1.05rem, 4.2vw, 1.2rem) !important;
  }
}

/* 2.15.3 – full component readability pass */
:root {
  --cp-text: #302b25;
  --cp-text-strong: #1e1a16;
  --cp-text-muted: #625a50;
  --cp-surface: #fffdf9;
  --cp-surface-soft: #f7f1e8;
  --cp-dark: #1f1b08;
  --cp-dark-soft: #322a00;
  --cp-on-dark: #fffdf8;
  --cp-on-dark-muted: #eee5d7;
  --cp-link: #94401f;
  --cp-focus: #df7447;
}

/* Base copy: readable without depending on individual block color settings. */
.wp-block-post-content,
.cp-content-shell,
.cp-page-main {
  color: var(--cp-text);
}

.wp-block-post-content :where(p,li,dd,dt,figcaption),
.cp-content-shell :where(p,li,dd,dt,figcaption) {
  overflow-wrap: anywhere;
}

.wp-block-post-content :where(h1,h2,h3,h4,h5,h6):not(.has-text-color),
.cp-content-shell :where(h1,h2,h3,h4,h5,h6):not(.has-text-color) {
  color: var(--cp-text-strong);
  text-wrap: balance;
}

.wp-block-post-content :where(p,li):not(.has-text-color),
.cp-content-shell :where(p,li):not(.has-text-color) {
  color: var(--cp-text);
}

/* Any dark Cask Passion surface gets a safe foreground, including nested cards. */
:where(
  .has-cask-dark-background-color,
  .cp-home-hero,
  .cp-page-hero,
  .cp-about-hero,
  .cp-portal-hero,
  .cp-portal-shell,
  .cp-portal-contact,
  .cp-vision-statement,
  .cp-newsletter-card,
  .cp-open-bottle,
  .cp-home-floorplan,
  .cp-home-facts,
  .cp-society-club-hero
) :where(h1,h2,h3,h4,h5,h6):not(.has-text-color) {
  color: var(--cp-on-dark) !important;
}

:where(
  .has-cask-dark-background-color,
  .cp-home-hero,
  .cp-page-hero,
  .cp-about-hero,
  .cp-portal-hero,
  .cp-portal-shell,
  .cp-portal-contact,
  .cp-vision-statement,
  .cp-newsletter-card,
  .cp-open-bottle,
  .cp-home-floorplan,
  .cp-home-facts,
  .cp-society-club-hero
) :where(p,li,dd,dt,figcaption):not(.has-text-color) {
  color: var(--cp-on-dark-muted) !important;
}

/* Light cards nested inside a dark section must switch back to dark copy. */
:where(.has-cask-dark-background-color,.cp-portal-shell,.cp-home-hero) :where(.has-white-background-color,.cp-card--light,.cp-login-card) :where(h1,h2,h3,h4,h5,h6):not(.has-text-color) {
  color: var(--cp-text-strong) !important;
}
:where(.has-cask-dark-background-color,.cp-portal-shell,.cp-home-hero) :where(.has-white-background-color,.cp-card--light,.cp-login-card) :where(p,li,dd,dt,figcaption):not(.has-text-color) {
  color: var(--cp-text) !important;
}

/* Functional and secondary copy should never drop below a useful contrast. */
:where(.cp-post-meta,.cp-meta,.cp-help,.cp-hint,.cp-card-meta,.cp-team-role,.wp-block-post-date,.wp-block-post-author-name) {
  color: var(--cp-text-muted);
}
:where(.has-cask-dark-background-color,.cp-portal-shell,.cp-page-hero) :where(.cp-post-meta,.cp-meta,.cp-help,.cp-hint,.cp-card-meta,.cp-team-role) {
  color: var(--cp-on-dark-muted) !important;
}

/* Links: visible by color + underline, while CTA buttons remain clean. */
.wp-block-post-content a:not(.wp-element-button),
.cp-content-shell a:not(.wp-element-button),
.cp-page-main a:not(.wp-element-button) {
  color: var(--cp-link);
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .2em;
}
:where(.has-cask-dark-background-color,.cp-portal-shell,.cp-page-hero,.cp-about-hero) a:not(.wp-element-button) {
  color: #ffd1b8;
}

/* Buttons maintain readable foreground in every state. */
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"] {
  font-weight: 750;
  line-height: 1.2;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-text-color) {
  color: #211b08;
}
:where(.has-cask-dark-background-color,.cp-portal-shell,.cp-page-hero) .wp-block-button.is-style-outline .wp-block-button__link {
  color: #fffdf8;
  border-color: rgba(255,253,248,.72);
}

/* Forms, including portal and request forms. */
.wp-block-post-content :where(input,select,textarea),
.cp-content-shell :where(input,select,textarea),
.cp-page-main :where(input,select,textarea) {
  color: #211e19;
  background: #fff;
  border: 1px solid #82786d;
  border-radius: 8px;
  min-height: 44px;
}
.wp-block-post-content textarea,
.cp-content-shell textarea,
.cp-page-main textarea { min-height: 120px; }
:where(input,textarea)::placeholder { color: #6d655d; opacity: 1; }
:where(label,legend) { font-weight: 650; }

/* Tables and structured data. */
.wp-block-table table,
.cp-content-shell table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: var(--cp-text);
}
.wp-block-table :where(th,td),
.cp-content-shell table :where(th,td) {
  padding: .8rem 1rem;
  border: 1px solid #d7cec2;
  vertical-align: top;
}
.wp-block-table th,
.cp-content-shell table th {
  color: var(--cp-text-strong);
  background: #f1e8dc;
  text-align: left;
}

/* Quotes, details, code and notices. */
.wp-block-quote,
.wp-block-pullquote {
  color: var(--cp-text-strong);
  border-color: var(--cp-focus);
}
.wp-block-quote cite,
.wp-block-pullquote cite { color: var(--cp-text-muted); }
.wp-block-details {
  border: 1px solid #d8cec1;
  border-radius: 10px;
  padding: .8rem 1rem;
  background: rgba(255,255,255,.72);
}
.wp-block-details summary { color: var(--cp-text-strong); font-weight: 750; cursor: pointer; }
.wp-block-code,
pre,
code {
  color: #29231d;
  background: #f4eee6;
}
.cp-notice,
.cp-alert,
.cp-status {
  color: #302a22;
}

/* Media captions and dividers. */
.wp-element-caption,
.wp-block-image figcaption,
.wp-block-gallery figcaption {
  color: var(--cp-text-muted);
  font-size: .92rem;
  line-height: 1.5;
}
.wp-block-separator { border-color: rgba(48,43,37,.25); }
:where(.has-cask-dark-background-color,.cp-portal-shell) .wp-block-separator { border-color: rgba(255,255,255,.28); }

/* Keyboard accessibility: visible on both light and dark areas. */
:where(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--cp-focus) !important;
  outline-offset: 3px;
}

/* Editorial reading width: layouts may opt out with alignwide/full or dedicated grids. */
.wp-block-post-content > :where(p,ul,ol,blockquote):not(.alignwide):not(.alignfull) {
  max-width: 72ch;
}

@media (max-width: 781px) {
  .wp-block-post-content :where(h1,.has-xx-large-font-size) { line-height: 1.05; }
  .wp-block-post-content :where(h2,.has-x-large-font-size) { line-height: 1.12; }
  .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .wp-block-button, .wp-block-button__link { max-width: 100%; }
}

/* 2.15.3 – portal contrast correction.
   The portal shell is a layout container, not a dark surface. Do not inherit
   dark-section text colours into its white cards/panels. */
.cp-portal-shell { color:#211e19 !important; }
.cp-portal-shell .cp-portal-section-head h2,
.cp-portal-shell .cp-portal-card h3,
.cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) h2,
.cp-portal-shell .cp-portal-stat strong { color:#201c16 !important; }
.cp-portal-shell .cp-portal-card p,
.cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) p,
.cp-portal-shell .cp-portal-task-list li,
.cp-portal-shell .cp-portal-stat small { color:#59534a !important; }
.cp-portal-shell .cp-portal-card-action,
.cp-portal-shell .cp-portal-breadcrumb a,
.cp-portal-shell .cp-portal-text-link { color:#765116 !important; }
.cp-portal-shell .cp-portal-contact,
.cp-portal-shell .cp-portal-contact h2 { color:#fff !important; }
.cp-portal-shell .cp-portal-contact p { color:#e2ddd5 !important; }
.cp-portal-shell .cp-portal-contact a { color:#f0d8a6 !important; }

/* 2.15.4 – Portal readability hardening.
 * Component-scoped rules intentionally override inherited theme colors.
 */
body .cp-portal-shell .cp-portal-card,
body .cp-portal-shell .cp-portal-panel:not(.cp-portal-contact),
body .cp-portal-shell .cp-portal-stat,
body .cp-portal-shell .cp-portal-login-card,
body .cp-portal-shell .cp-portal-public-card,
body .cp-portal-shell .cp-portal-empty {
  color: #211e19 !important;
}
body .cp-portal-shell .cp-portal-card h1,
body .cp-portal-shell .cp-portal-card h2,
body .cp-portal-shell .cp-portal-card h3,
body .cp-portal-shell .cp-portal-card h4,
body .cp-portal-shell .cp-portal-card h5,
body .cp-portal-shell .cp-portal-card h6,
body .cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) h1,
body .cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) h2,
body .cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) h3,
body .cp-portal-shell .cp-portal-login-card h1,
body .cp-portal-shell .cp-portal-login-card h2,
body .cp-portal-shell .cp-portal-login-card h3,
body .cp-portal-shell .cp-portal-stat strong,
body .cp-portal-shell .cp-portal-section-head h2 {
  color: #201c16 !important;
  opacity: 1 !important;
}
body .cp-portal-shell .cp-portal-card p,
body .cp-portal-shell .cp-portal-card li,
body .cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) p,
body .cp-portal-shell .cp-portal-panel:not(.cp-portal-contact) li,
body .cp-portal-shell .cp-portal-login-card p,
body .cp-portal-shell .cp-portal-stat small,
body .cp-portal-shell .cp-portal-task-list li {
  color: #514b43 !important;
  opacity: 1 !important;
}
body .cp-portal-shell .cp-portal-card-action,
body .cp-portal-shell .cp-portal-text-link,
body .cp-portal-shell .cp-portal-breadcrumb a {
  color: #765116 !important;
  opacity: 1 !important;
}
body .cp-portal-shell .cp-portal-contact,
body .cp-portal-shell .cp-portal-contact h1,
body .cp-portal-shell .cp-portal-contact h2,
body .cp-portal-shell .cp-portal-contact h3 {
  color: #fff !important;
}
body .cp-portal-shell .cp-portal-contact p,
body .cp-portal-shell .cp-portal-contact li {
  color: #e2ddd5 !important;
}
body .cp-portal-shell .cp-portal-contact a {
  color: #f0d8a6 !important;
}
body .cp-portal-shell .cp-portal-card:visited,
body .cp-portal-shell .cp-portal-card:hover,
body .cp-portal-shell .cp-portal-card:focus {
  color: #211e19 !important;
}

/* 2.16.0 – definitive contrast pass for dark branded components.
   Component classes define their own dark surfaces, so foreground colors must
   not depend on inherited Gutenberg block colors. */
:where(.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community) {
  color: #fffdf8 !important;
}
:where(.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community)
:where(h1,h2,h3,h4,h5,h6,.wp-block-heading,.cp-eyebrow):not(.has-text-color) {
  color: #fffdf8 !important;
}
:where(.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community)
:where(p,li,dd,dt,figcaption):not(.has-text-color) {
  color: #f1e9dc !important;
}
:where(.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community)
.cp-eyebrow:not(.has-text-color) {
  color: #f3d8a4 !important;
}
:where(.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community)
a:not(.wp-element-button) {
  color: #ffd8c5 !important;
}
.cp-ticket-trust-card {
  color: #fffdf8 !important;
  background: rgba(255,255,255,.12) !important;
}
.cp-ticket-trust-card :where(h1,h2,h3,h4,h5,h6,p,li):not(.has-text-color) {
  color: #fffdf8 !important;
}
.cp-dashboard-community .cp-dashboard-community__hint,
.cp-dashboard-community .cp-dashboard-community__hint:not(.has-text-color) {
  color: #f1e9dc !important;
}

/* 2.16.1 – structural surface contrast model.
   A light card nested in a dark branded section establishes its own foreground
   context and must never inherit the dark section's light text colors. */
:where(.cp-society-access__panel,.cp-portal-card,.cp-portal-panel:not(.cp-portal-contact),.cp-portal-stat,.cp-portal-login-card,.cp-ticket-light-card,.cp-light-card,.has-white-background-color,.has-cream-background-color) {
  color: #282217 !important;
}
:where(.cp-society-access__panel,.cp-portal-card,.cp-portal-panel:not(.cp-portal-contact),.cp-portal-stat,.cp-portal-login-card,.cp-ticket-light-card,.cp-light-card,.has-white-background-color,.has-cream-background-color)
:where(h1,h2,h3,h4,h5,h6,.wp-block-heading):not(.has-text-color) {
  color: #282217 !important;
  opacity: 1 !important;
}
:where(.cp-society-access__panel,.cp-portal-card,.cp-portal-panel:not(.cp-portal-contact),.cp-portal-stat,.cp-portal-login-card,.cp-ticket-light-card,.cp-light-card,.has-white-background-color,.has-cream-background-color)
:where(p,li,dd,dt,figcaption,small):not(.has-text-color) {
  color: #51493d !important;
  opacity: 1 !important;
}
:where(.cp-society-access__panel,.cp-portal-card,.cp-portal-panel:not(.cp-portal-contact),.cp-portal-stat,.cp-portal-login-card,.cp-ticket-light-card,.cp-light-card,.has-white-background-color,.has-cream-background-color)
:where(.cp-eyebrow,.cp-society-access__status):not(.has-text-color) {
  color: #8b482e !important;
  opacity: 1 !important;
}
:where(.cp-society-access__panel,.cp-portal-card,.cp-portal-panel:not(.cp-portal-contact),.cp-portal-stat,.cp-portal-login-card,.cp-ticket-light-card,.cp-light-card,.has-white-background-color,.has-cream-background-color)
a:not(.wp-element-button) {
  color: #7b4c21 !important;
}

/* Homepage Society member card – fully isolated light surface. */
.cp-society-access__panel,
.cp-society-access__panel * {
  text-shadow: none;
}
.cp-society-access__panel h3,
.cp-society-access__panel .cp-society-access__member-name {
  color: #282217 !important;
  opacity: 1 !important;
}
.cp-society-access__panel .cp-society-access__copy,
.cp-society-access__panel .cp-society-dashboard-links li {
  color: #51493d !important;
  opacity: 1 !important;
}
.cp-society-access__panel .cp-society-access__status {
  color: #8b482e !important;
}
.cp-society-access__panel .cp-society-dashboard-links li {
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(50,42,0,.14) !important;
}
.cp-society-access__panel .cp-society-access__logout a,
.cp-society-access__panel .cp-society-access__help a {
  color: #77472d !important;
}
.cp-society-access__panel .wp-element-button,
.cp-society-access__panel .cp-society-login-button {
  color: #211b08 !important;
}

/* Dark surfaces stay explicit, including page heroes and branded CTAs. */
:where(.cp-page-hero,.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community,.cp-society-section,.cp-society-club-hero) {
  color: #fffdf8;
}
:where(.cp-page-hero,.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community,.cp-society-section,.cp-society-club-hero)
> :where(h1,h2,h3,h4,h5,h6,p,ul,ol),
:where(.cp-page-hero,.cp-ticket-hero,.cp-sponsors-hero,.cp-ticket-cta,.cp-sponsor-cta,.cp-dashboard-community,.cp-society-section,.cp-society-club-hero)
> * > :where(h1,h2,h3,h4,h5,h6,p,ul,ol):not(.cp-society-access__panel *) {
  opacity: 1;
}
\n\n/* Event status + price – v2.17.1 */\n.cp-event-badges{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:0 0 .8rem}.cp-event-price{display:inline-flex;align-items:center;width:fit-content;padding:.42rem .72rem;border-radius:999px;background:#f5ead5;color:#5a3a00;font-size:.78rem;font-weight:800;line-height:1.25;white-space:nowrap}.cp-dynamic-event--featured .cp-event-price{background:rgba(255,255,255,.14);color:#fff!important}.cp-event-label--few_tickets{background:#fff1cf;color:#7a4a00}.cp-event-label--sold_out,.cp-event-label--cancelled{background:#fbe0dc;color:#8b241b}.cp-event-label--ended{background:#ece9e2;color:#5f5a50}.cp-event-label--hidden{background:#eee8ff;color:#4d358f}.cp-dynamic-event--featured .cp-event-label--few_tickets{background:rgba(255,193,7,.2);color:#ffe3a3!important}.cp-dynamic-event--featured .cp-event-label--sold_out,.cp-dynamic-event--featured .cp-event-label--cancelled{background:rgba(240,95,85,.2);color:#ffd2cc!important}.cp-dynamic-event--featured .cp-event-label--ended{background:rgba(255,255,255,.12);color:#e7e2d8!important}.cp-dynamic-event--featured .cp-event-label--hidden{background:rgba(170,140,255,.2);color:#e0d6ff!important}.cp-event-status--cancelled .cp-dynamic-event__image img,.cp-event-status--ended .cp-dynamic-event__image img{filter:saturate(.55)}\n
/* Homepage event cards + feature controls – v2.18.0 */
.cp-next-event-block--cards{display:block;max-width:1240px;margin-inline:auto}.cp-next-event-block__header{display:flex;gap:2rem;align-items:end;justify-content:space-between;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.cp-next-event-block__header h2{margin:.2rem 0 0}.cp-next-event-block__all{margin:0 0 .35rem;white-space:nowrap}.cp-home-event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.cp-home-event-grid .cp-dynamic-event{border:1px solid rgba(50,42,0,.1);box-shadow:0 12px 34px rgba(50,42,0,.08);border-radius:20px}.cp-home-event-grid .cp-dynamic-event__image{min-height:0;aspect-ratio:16/9;overflow:hidden}.cp-home-event-grid .cp-dynamic-event__body{padding:1.25rem}.cp-home-event-grid .cp-dynamic-event h3{font-size:clamp(1.25rem,1.7vw,1.6rem);margin:.3rem 0 .8rem}.cp-home-event-grid .cp-dynamic-event__meta{gap:.5rem;margin-bottom:.9rem}.cp-home-event-grid .cp-dynamic-event__meta div{grid-template-columns:4.2rem 1fr;gap:.5rem}.cp-home-event-grid .cp-dynamic-event__body>p{font-size:.95rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cp-home-event-grid .cp-dynamic-event__actions{margin-top:1rem;gap:.5rem}.cp-home-event-grid .wp-block-button__link{padding:.7rem 1rem;font-size:.9rem}.cp-home-event-grid .cp-event-badges{margin-bottom:.5rem}.cp-home-event-grid .cp-event-label,.cp-home-event-grid .cp-event-price{font-size:.72rem}@media(max-width:900px){.cp-home-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-next-event-block__header{align-items:flex-start;flex-direction:column;gap:.5rem}.cp-next-event-block__all{white-space:normal}}@media(max-width:620px){.cp-home-event-grid{grid-template-columns:1fr}}

/* Event cards, detail page and ticket overview – v2.18.1 */
.cp-home-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.cp-home-event-grid .cp-dynamic-event{display:grid;grid-template-columns:minmax(180px,36%) minmax(0,1fr);min-height:270px;max-height:none}
.cp-home-event-grid .cp-dynamic-event.has-no-event-image{grid-template-columns:1fr}
.cp-home-event-grid .cp-dynamic-event__image{height:100%;aspect-ratio:auto;min-height:270px}
.cp-home-event-grid .cp-dynamic-event__image img{height:100%;min-height:270px;object-fit:cover}
.cp-home-event-grid .cp-dynamic-event__body{padding:1.15rem 1.25rem;display:flex;flex-direction:column}
.cp-home-event-grid .cp-dynamic-event__actions{margin-top:auto;padding-top:.75rem}
.cp-home-event-grid .cp-dynamic-event__meta{grid-template-columns:1fr}
.cp-home-event-grid .cp-dynamic-event__meta div{grid-template-columns:3.7rem 1fr}

.cp-event-detail{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,44%) minmax(0,1fr);background:#fff;border:1px solid rgba(50,42,0,.1);border-radius:28px;overflow:hidden;box-shadow:0 18px 60px rgba(50,42,0,.1)}
.cp-event-detail__media{margin:0;min-height:420px;background:#efe8da;position:relative}
.cp-event-detail__media img{width:100%;height:100%;min-height:420px;max-height:620px;object-fit:cover;display:block}
.cp-event-detail__media figcaption{position:absolute;left:.8rem;bottom:.7rem;background:rgba(20,17,8,.72);color:#fff;padding:.35rem .55rem;border-radius:8px;font-size:.72rem}
.cp-event-detail__body{padding:clamp(1.5rem,3.5vw,3rem)}
.cp-event-detail h1{font-size:clamp(2rem,4vw,4.2rem);line-height:1.02;margin:.55rem 0 1rem}
.cp-event-detail__lead{font-size:1.08rem;line-height:1.65;color:#4f493f}
.cp-event-detail__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1.5rem 0;border-top:1px solid rgba(50,42,0,.12)}
.cp-event-detail__facts>div{padding:.85rem .25rem;border-bottom:1px solid rgba(50,42,0,.12)}
.cp-event-detail__facts>div:nth-child(odd){padding-right:1rem}
.cp-event-detail__facts>div:nth-child(even){padding-left:1rem;border-left:1px solid rgba(50,42,0,.1)}
.cp-event-detail__facts dt{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:800;color:#7a6b4c;margin-bottom:.22rem}
.cp-event-detail__facts dd{margin:0;font-weight:650;color:#2f291d;line-height:1.45}
.cp-event-detail__links{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.1rem}.cp-event-detail__links a{font-weight:700}
.cp-event-single-content{margin-top:clamp(2rem,4vw,4rem)}
.cp-event-group-badge{display:inline-flex;align-items:center;width:fit-content;padding:.42rem .72rem;border-radius:999px;background:#eae4d8;color:#514832;font-size:.72rem;font-weight:800;line-height:1.25}

.cp-ticket-overview__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.cp-ticket-event{display:grid;grid-template-columns:minmax(150px,32%) minmax(0,1fr);background:#fff;border:1px solid rgba(50,42,0,.11);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(50,42,0,.07)}
.cp-ticket-event__image{display:block;min-height:210px}.cp-ticket-event__image img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block}
.cp-ticket-event__body{padding:1.2rem;display:flex;flex-direction:column}.cp-ticket-event h3{font-size:1.45rem;margin:.4rem 0 .55rem}.cp-ticket-event h3 a{color:#2f291d;text-decoration:none}.cp-ticket-event__date{font-weight:700;margin:.15rem 0}.cp-ticket-event__venue{margin:.2rem 0;color:#5f584c}.cp-ticket-event__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:auto;padding-top:1rem}.cp-ticket-event__actions a{display:inline-flex;padding:.66rem .95rem;border-radius:999px;font-weight:800;text-decoration:none}.cp-ticket-detail{border:1px solid #8a5a16;color:#6c460f}.cp-ticket-buy{background:#e97643;color:#241b0b}.cp-ticket-overview-empty{padding:2rem;background:#fff;border-radius:20px;border:1px solid rgba(50,42,0,.1)}
.cp-ticket-auto-section{max-width:1200px;margin:3rem auto;padding:0 1rem}

@media(max-width:980px){.cp-home-event-grid,.cp-ticket-overview__grid{grid-template-columns:1fr}.cp-event-detail{grid-template-columns:1fr}.cp-event-detail__media,.cp-event-detail__media img{min-height:300px;max-height:480px}}
@media(max-width:680px){.cp-home-event-grid .cp-dynamic-event,.cp-ticket-event{grid-template-columns:1fr}.cp-home-event-grid .cp-dynamic-event__image,.cp-home-event-grid .cp-dynamic-event__image img{min-height:190px;height:190px}.cp-ticket-event__image,.cp-ticket-event__image img{min-height:190px;height:190px}.cp-event-detail__facts{grid-template-columns:1fr}.cp-event-detail__facts>div:nth-child(even){padding-left:.25rem;border-left:0}.cp-event-detail__facts>div:nth-child(odd){padding-right:.25rem}}

/* Homepage event cards – compact horizontal layout v2.18.2 */
.cp-home-next-event .cp-next-event-block--cards{
  display:block !important;
  width:min(1180px,100%) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}
.cp-home-next-event .cp-next-event-block__header{
  display:flex !important;
  align-items:end !important;
  justify-content:space-between !important;
  gap:1.5rem !important;
  width:100% !important;
}
.cp-home-next-event .cp-home-event-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1.15rem !important;
  width:100% !important;
  align-items:stretch !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event{
  display:grid !important;
  grid-template-columns:160px minmax(0,1fr) !important;
  grid-template-rows:auto !important;
  width:100% !important;
  max-width:none !important;
  min-height:210px !important;
  height:auto !important;
  max-height:290px !important;
  overflow:hidden !important;
  border-radius:18px !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event.has-no-event-image{
  grid-template-columns:118px minmax(0,1fr) !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event.has-no-event-image::before{
  content:"EVENT";
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
  background:linear-gradient(145deg,#3b330e,#76521d);
  color:#f3d8a4;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.18em;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image,
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image img{
  width:100% !important;
  min-height:210px !important;
  height:100% !important;
  max-height:290px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__body{
  padding:1rem 1.1rem !important;
  min-width:0;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
}
.cp-home-next-event .cp-home-event-grid .cp-event-badges{margin:0 0 .45rem !important;gap:.35rem !important}
.cp-home-next-event .cp-home-event-grid .cp-event-label,
.cp-home-next-event .cp-home-event-grid .cp-event-price{font-size:.66rem !important;padding:.32rem .55rem !important}
.cp-home-next-event .cp-home-event-grid h3{font-size:1.28rem !important;line-height:1.1 !important;margin:.15rem 0 .55rem !important}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__meta{display:grid !important;gap:.28rem !important;margin:0 0 .45rem !important}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__meta div{display:grid !important;grid-template-columns:3.3rem minmax(0,1fr) !important;gap:.35rem !important}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__meta dt{font-size:.62rem !important}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__meta dd{font-size:.83rem !important;line-height:1.32 !important}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__body>p{font-size:.84rem !important;line-height:1.38 !important;-webkit-line-clamp:2 !important;margin:.2rem 0 !important}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__actions{margin-top:auto !important;padding-top:.55rem !important;gap:.4rem !important;flex-wrap:wrap !important}
.cp-home-next-event .cp-home-event-grid .wp-block-button__link{padding:.55rem .75rem !important;font-size:.78rem !important}
@media(max-width:980px){
  .cp-home-next-event .cp-home-event-grid{grid-template-columns:1fr !important}
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event{max-height:260px !important}
}
@media(max-width:620px){
  .cp-home-next-event .cp-next-event-block__header{align-items:flex-start !important;flex-direction:column !important;gap:.35rem !important}
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event,
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event.has-no-event-image{grid-template-columns:1fr !important;max-height:none !important}
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event.has-no-event-image::before{display:none !important}
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image,
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image img{height:150px !important;min-height:150px !important;max-height:150px !important}
}

/* Event polish v2.18.3 ---------------------------------------------------- */
/* Homepage: force truly horizontal, compact cards on desktop. */
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event{
  min-height:0 !important;
  height:230px !important;
  max-height:230px !important;
  grid-template-columns:42% minmax(0,58%) !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image,
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image img{
  min-height:230px !important;
  height:230px !important;
  max-height:230px !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__body{
  padding:.9rem 1rem !important;
  overflow:hidden !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__body>p{
  display:-webkit-box !important;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__actions{
  display:flex !important;
  align-items:center !important;
  gap:.45rem !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__actions .wp-block-button{
  width:auto !important;
  margin:0 !important;
}
.cp-home-next-event .cp-home-event-grid .cp-dynamic-event__actions .wp-block-button__link{
  width:auto !important;
  min-height:0 !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

/* Single event: predictable button sizing, no overlap, no circular buttons. */
.cp-event-detail__actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:.75rem !important;
  margin-top:1rem !important;
}
.cp-event-detail__actions .wp-block-button{
  width:auto !important;
  margin:0 !important;
}
.cp-event-detail__actions .wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:10rem !important;
  min-height:2.9rem !important;
  padding:.72rem 1.15rem !important;
  border-radius:999px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.cp-event-detail__actions .is-style-outline .wp-block-button__link{
  background:transparent !important;
  color:#7d3f22 !important;
  border:2px solid #c95f35 !important;
}
.cp-event-detail__actions .is-style-outline .wp-block-button__link:hover{
  background:#fff4ed !important;
}

@media(max-width:980px){
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event{
    height:220px !important;
    max-height:220px !important;
    grid-template-columns:220px minmax(0,1fr) !important;
  }
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image,
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image img{
    min-height:220px !important;
    height:220px !important;
    max-height:220px !important;
  }
}
@media(max-width:620px){
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event{
    height:auto !important;
    max-height:none !important;
    grid-template-columns:1fr !important;
  }
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image,
  .cp-home-next-event .cp-home-event-grid .cp-dynamic-event__image img{
    min-height:155px !important;
    height:155px !important;
    max-height:155px !important;
  }
  .cp-event-detail__actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .cp-event-detail__actions .wp-block-button,
  .cp-event-detail__actions .wp-block-button__link{
    width:100% !important;
  }
}

/* Customer-friendly ticket overview – v2.18.4 */
.cp-ticket-auto-overview.cp-eventfrog-embed{
  width:100%;max-width:76rem!important;min-height:0!important;padding:0!important;
  overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.cp-ticket-overview{width:100%}
.cp-ticket-overview__list{display:grid;gap:1rem;width:100%}
.cp-ticket-card{
  display:grid;grid-template-columns:240px minmax(0,1fr) minmax(190px,230px);
  min-height:190px;overflow:hidden;border:1px solid rgba(50,42,0,.1);border-radius:22px;
  background:#fff;box-shadow:0 10px 30px rgba(50,42,0,.07)
}
.cp-ticket-card__media{display:block;min-height:190px;background:#3d3305}
.cp-ticket-card__media img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}
.cp-ticket-card__media--empty{display:grid;place-items:center;color:#fff;text-decoration:none;font:800 2rem/1 system-ui}
.cp-ticket-card__main{padding:1.25rem 1.4rem;min-width:0}
.cp-ticket-card__badges{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.6rem}
.cp-ticket-card__series{display:inline-flex;padding:.4rem .65rem;border-radius:999px;background:#eee9df;color:#5a5145;font-size:.75rem;font-weight:800}
.cp-ticket-card h3{margin:.15rem 0 .45rem;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.08}
.cp-ticket-card h3 a{color:#2c251b;text-decoration:none}
.cp-ticket-card h3 a:hover{text-decoration:underline;text-underline-offset:.18em}
.cp-ticket-card__date{margin:.1rem 0 .25rem;color:#352f27;font-weight:800}
.cp-ticket-card__venue{margin:.1rem 0 .55rem;color:#665f55;font-weight:600}
.cp-ticket-card__preview{margin:.45rem 0 0;color:#665f55;line-height:1.5}
.cp-ticket-card__purchase{
  display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:.65rem;
  padding:1.25rem;border-left:1px solid rgba(50,42,0,.09);background:#fbf7f0
}
.cp-ticket-card__price-label{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#72695c}
.cp-ticket-card__price{font-size:1.25rem;line-height:1.15;color:#2e281f}
.cp-ticket-card__purchase a,.cp-ticket-card__disabled{display:flex;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1rem;border-radius:999px;font-weight:800;text-align:center;text-decoration:none}
.cp-ticket-card__purchase .cp-ticket-buy{background:#e97643;color:#241b0b;border:1px solid #e97643}
.cp-ticket-card__purchase .cp-ticket-buy:hover{filter:brightness(.96)}
.cp-ticket-card__purchase .cp-ticket-detail{background:transparent;color:#68420c;border:1px solid #8a5a16}
.cp-ticket-card__disabled{background:#ece7de;color:#625a4e}
.cp-ticket-overview-empty{max-width:48rem;margin:0 auto;padding:2rem;text-align:center;background:#fff;border-radius:20px;border:1px solid rgba(50,42,0,.1)}
.cp-ticket-shop{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.cp-ticket-shop__heading{margin-bottom:2rem}
@media(max-width:980px){
  .cp-ticket-card{grid-template-columns:190px minmax(0,1fr)}
  .cp-ticket-card__purchase{grid-column:1/-1;display:grid;grid-template-columns:minmax(130px,1fr) auto auto;align-items:center;border-left:0;border-top:1px solid rgba(50,42,0,.09)}
  .cp-ticket-card__price-label{display:none}.cp-ticket-card__price{align-self:center}
}
@media(max-width:680px){
  .cp-ticket-card{grid-template-columns:1fr}
  .cp-ticket-card__media,.cp-ticket-card__media img{height:180px;min-height:180px}
  .cp-ticket-card__purchase{grid-column:auto;grid-template-columns:1fr;border-top:1px solid rgba(50,42,0,.09)}
}

/* Compact ticket booking rows – v2.18.5 */
.cp-ticket-shop{padding-top:clamp(2.25rem,4vw,3.75rem)!important;padding-bottom:clamp(2rem,4vw,3rem)!important}
.cp-ticket-shop__heading{max-width:58rem;margin:0 auto 1.35rem!important;text-align:center}
.cp-ticket-auto-overview.cp-eventfrog-embed{
  width:min(100%,70rem)!important;max-width:70rem!important;min-height:0!important;
  margin-inline:auto!important;padding:0!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important
}
.cp-ticket-overview,.cp-ticket-overview__list{width:100%!important;max-width:100%!important}
.cp-ticket-overview__list{display:grid!important;gap:.75rem!important}
.cp-ticket-card{
  display:grid!important;grid-template-columns:150px minmax(0,1fr) 190px!important;
  min-height:132px!important;height:auto!important;max-height:none!important;
  overflow:hidden!important;border-radius:16px!important;background:#fff!important;
  border:1px solid rgba(50,42,0,.10)!important;box-shadow:0 6px 20px rgba(50,42,0,.06)!important
}
.cp-ticket-card__media{width:150px!important;height:100%!important;min-height:132px!important;max-height:160px!important;background:#3d3305!important}
.cp-ticket-card__media img{width:150px!important;height:100%!important;min-height:132px!important;max-height:160px!important;object-fit:cover!important;display:block!important}
.cp-ticket-card__main{padding:.9rem 1rem!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}
.cp-ticket-card__badges{margin:0 0 .35rem!important;gap:.35rem!important}
.cp-ticket-card__badges .cp-event-label,.cp-ticket-card__series{font-size:.67rem!important;padding:.28rem .52rem!important}
.cp-ticket-card h3{margin:0 0 .25rem!important;font-size:1.2rem!important;line-height:1.15!important}
.cp-ticket-card__date{margin:0!important;font-size:.91rem!important;line-height:1.35!important;font-weight:750!important}
.cp-ticket-card__venue{margin:.2rem 0 0!important;font-size:.84rem!important;line-height:1.35!important}
.cp-ticket-card__preview{display:none!important}
.cp-ticket-card__purchase{
  padding:.85rem 1rem!important;gap:.45rem!important;justify-content:center!important;
  border-left:1px solid rgba(50,42,0,.08)!important;background:#fbf7f0!important
}
.cp-ticket-card__price-label{font-size:.62rem!important}
.cp-ticket-card__price{font-size:1.08rem!important;margin-bottom:.1rem!important}
.cp-ticket-card__purchase a,.cp-ticket-card__disabled{
  min-height:36px!important;padding:.48rem .75rem!important;font-size:.82rem!important;border-radius:999px!important
}
.cp-ticket-card__purchase .cp-ticket-buy{order:2}
.cp-ticket-card__purchase .cp-ticket-detail{order:3}
.cp-ticket-card__price-label{order:0}.cp-ticket-card__price{order:1}
@media(max-width:860px){
  .cp-ticket-card{grid-template-columns:130px minmax(0,1fr)!important}
  .cp-ticket-card__media,.cp-ticket-card__media img{width:130px!important;min-height:125px!important;max-height:145px!important}
  .cp-ticket-card__purchase{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;border-left:0!important;border-top:1px solid rgba(50,42,0,.08)!important;padding:.65rem .85rem!important}
  .cp-ticket-card__price-label{display:none!important}.cp-ticket-card__price{margin-right:auto!important}
  .cp-ticket-card__purchase a,.cp-ticket-card__disabled{min-width:130px!important}
}
@media(max-width:620px){
  .cp-ticket-card{grid-template-columns:96px minmax(0,1fr)!important;border-radius:14px!important}
  .cp-ticket-card__media,.cp-ticket-card__media img{width:96px!important;height:118px!important;min-height:118px!important;max-height:118px!important}
  .cp-ticket-card__main{padding:.75rem!important}
  .cp-ticket-card h3{font-size:1.05rem!important}
  .cp-ticket-card__date{font-size:.82rem!important}
  .cp-ticket-card__venue{font-size:.78rem!important}
  .cp-ticket-card__purchase{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.45rem!important}
  .cp-ticket-card__price{grid-column:1/-1!important;margin:0!important}
  .cp-ticket-card__purchase a,.cp-ticket-card__disabled{min-width:0!important;width:100%!important}
}
\n\n/* Editable-first + readability baseline – v2.19.0 */\n:root {\n  --cp-font-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;\n  --cp-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;\n}\nbody, button, input, select, textarea, h1, h2, h3, h4, h5, h6, blockquote, .wp-block-quote p, .wp-block-pullquote p { font-family: var(--cp-font-body) !important; }\nh1,h2,h3,.cp-display-title,.cp-hero-title,.wp-block-post-title,.wp-block-query-title { letter-spacing:-.025em; }\np,li { line-height:1.65; }\n.cp-main p:not([class*="has-text-color"]), .cp-main li:not([class*="has-text-color"]) { color:#2d2922; }\n.has-cask-dark-background-color p:not([class*="has-text-color"]), .has-cask-dark-background-color li:not([class*="has-text-color"]), .cp-ticket-hero p, .cp-ticket-hero li { color:#f7f1e7; }\n.cp-shortcode-editor-box { padding:1.25rem; border:1px dashed rgba(168,78,43,.45); border-radius:1rem; background:rgba(255,255,255,.72); }\n.cp-shortcode-editor-box > .wp-block-shortcode { margin:0; }\n.editor-styles-wrapper { font-family:var(--cp-font-body) !important; color:#211e17; }\n.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3,.editor-styles-wrapper h4,.editor-styles-wrapper h5,.editor-styles-wrapper h6 { font-family:var(--cp-font-body) !important; }\n
/* 2.20.0 – editor-authoritative dynamic content containers */
.cp-dynamic-editor-box{
  padding:clamp(1rem,2vw,1.4rem);
  border:1px dashed rgba(168,78,43,.45);
  border-radius:1rem;
  background:#fff8f3;
}
.cp-dynamic-editor-box__label{
  margin:0 0 .55rem!important;
  color:#7b321b!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ============================================================
   2.21.0 – Page audit: typography, readability, compact layouts
   ============================================================ */
:root {
  --cp-text: #211e17;
  --cp-text-muted: #5f584d;
  --cp-line: rgba(33, 30, 23, .14);
  --cp-card-shadow: 0 .6rem 1.8rem rgba(33, 30, 23, .08);
}

body,
button,
input,
select,
textarea,
.wp-site-blocks,
.editor-styles-wrapper {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
}

.cp-section { padding-block: clamp(3.25rem, 6vw, 6rem); }
.cp-page-hero { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.cp-page-hero .cp-page-title { max-width: 18ch; margin: 0; text-wrap: balance; }
.cp-page-intro-section p,
.cp-ticket-intro p { max-width: 68ch; }

/* Explicit light/dark surfaces: no more accidental inherited low contrast. */
.cp-surface-light,
.cp-surface-light p,
.cp-surface-light li,
.cp-surface-light dt,
.cp-surface-light dd { color: var(--cp-text); }
.cp-surface-light h1,
.cp-surface-light h2,
.cp-surface-light h3,
.cp-surface-light h4,
.cp-surface-light h5,
.cp-surface-light h6 { color: var(--cp-dark); }
.cp-surface-light .cp-eyebrow { color: var(--cp-copper-dark); }

.cp-surface-dark,
.cp-surface-dark p,
.cp-surface-dark li,
.cp-surface-dark dt,
.cp-surface-dark dd { color: var(--cp-cream); }
.cp-surface-dark h1,
.cp-surface-dark h2,
.cp-surface-dark h3,
.cp-surface-dark h4,
.cp-surface-dark h5,
.cp-surface-dark h6 { color: var(--cp-white); }
.cp-surface-dark a:not(.wp-element-button) { color: #f4b08f; }

/* White cards inside dark contexts reset to a light surface. */
.cp-surface-dark .has-white-background-color,
.cp-surface-dark .cp-feature-card,
.cp-surface-dark .cp-value-card,
.cp-surface-dark .cp-ticket-card,
.cp-surface-dark .cp-portal-card {
  color: var(--cp-text);
}
.cp-surface-dark .has-white-background-color h1,
.cp-surface-dark .has-white-background-color h2,
.cp-surface-dark .has-white-background-color h3,
.cp-surface-dark .has-white-background-color p,
.cp-surface-dark .cp-feature-card h3,
.cp-surface-dark .cp-feature-card p,
.cp-surface-dark .cp-ticket-card h3,
.cp-surface-dark .cp-ticket-card p { color: var(--cp-text); }

/* General editorial readability. */
.cp-page-main p,
.cp-event-single-content p { line-height: 1.7; }
.cp-page-main :where(p,li) { overflow-wrap: anywhere; }
.cp-page-main :where(h1,h2,h3) { text-wrap: balance; }
.wp-block-details { border-bottom: 1px solid var(--cp-line); padding-block: .85rem; }
.wp-block-details summary { cursor: pointer; font-weight: 750; color: var(--cp-dark); }

/* Compact menu / information cards. */
.cp-menu-card,
.cp-feature-card,
.cp-ticket-info-card,
.cp-related-links .wp-block-column {
  height: 100%;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: 1rem;
  box-shadow: var(--cp-card-shadow);
}
.cp-menu-card h3,
.cp-feature-card h3 { margin-top: 0; }
.cp-menu-card p:last-child,
.cp-feature-card p:last-child { margin-bottom: 0; }
.cp-menu-card-grid,
.cp-info-grid,
.cp-compact-link-grid { gap: 1rem; }

/* Event overview: cards are landscape/compact rather than tall posters. */
.cp-event-list-grid,
.cp-home-event-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.cp-dynamic-event {
  display: grid;
  grid-template-columns: minmax(130px, 34%) 1fr;
  min-height: 0;
  overflow: hidden;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: 1rem;
  box-shadow: var(--cp-card-shadow);
}
.cp-dynamic-event.has-no-event-image { grid-template-columns: 1fr; }
.cp-dynamic-event__image { min-height: 100%; }
.cp-dynamic-event__image img { width: 100%; height: 100%; min-height: 180px; object-fit: cover; border-radius: 0; }
.cp-dynamic-event__body { min-width: 0; padding: 1rem 1.1rem; }
.cp-dynamic-event__body h3 { margin: .55rem 0 .65rem; font-size: clamp(1.15rem, 1.05rem + .3vw, 1.4rem); line-height: 1.2; }
.cp-dynamic-event__body > p { display: none; } /* description belongs on the detail page */
.cp-dynamic-event__meta { display: grid; gap: .35rem; margin: 0 0 .8rem; }
.cp-dynamic-event__meta > div { display: grid; grid-template-columns: 4.2rem 1fr; gap: .5rem; }
.cp-dynamic-event__meta dt { font-size: .78rem; font-weight: 750; color: var(--cp-text-muted); }
.cp-dynamic-event__meta dd { margin: 0; font-size: .9rem; }
.cp-dynamic-event__actions { gap: .45rem; margin-top: .75rem; }
.cp-dynamic-event__actions .wp-element-button { padding: .62rem .85rem; font-size: .86rem; }

/* Ticket page: booking list, not giant marketing cards. */
.cp-ticket-overview__list { display: grid; gap: .75rem; }
.cp-ticket-card {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: stretch;
  min-height: 120px;
  overflow: hidden;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: .9rem;
  box-shadow: 0 .35rem 1.2rem rgba(33,30,23,.06);
}
.cp-ticket-card__media { min-height: 120px; }
.cp-ticket-card__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.cp-ticket-card__main { padding: .85rem 1rem; min-width: 0; }
.cp-ticket-card__main h3 { margin: .35rem 0 .45rem; font-size: 1.08rem; line-height: 1.2; }
.cp-ticket-card__date,
.cp-ticket-card__venue { margin: .16rem 0; font-size: .88rem; color: var(--cp-text-muted); }
.cp-ticket-card__purchase { display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: .45rem; min-width: 165px; padding: .75rem 1rem; border-left: 1px solid var(--cp-line); }
.cp-ticket-card__price-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cp-text-muted); }
.cp-ticket-card__price { font-size: 1.02rem; }
.cp-ticket-buy,
.cp-ticket-detail { display: inline-flex; justify-content: center; align-items: center; min-height: 2.35rem; padding: .55rem .8rem; border-radius: 999px; text-decoration: none; font-size: .84rem; font-weight: 750; }
.cp-ticket-buy { background: var(--cp-copper); color: var(--cp-dark); }
.cp-ticket-detail { border: 1px solid var(--cp-line); color: var(--cp-dark); }

/* Event detail: readable facts and actions without exposing technical source. */
.cp-event-detail { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.cp-event-detail__media { margin: 0; }
.cp-event-detail__media img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 1rem; }
.cp-event-detail__body h1 { margin: .7rem 0 1rem; font-size: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.cp-event-detail__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem 1rem; }
.cp-event-detail__facts > div { padding: .8rem; background: rgba(255,255,255,.65); border: 1px solid var(--cp-line); border-radius: .7rem; }
.cp-event-detail__facts dt { font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; color: var(--cp-text-muted); }
.cp-event-detail__facts dd { margin: .2rem 0 0; font-weight: 650; }
.cp-event-detail__links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }

/* Dynamic areas remain clearly visible/editable in Gutenberg, unobtrusive live. */
.cp-dynamic-editor-box { margin-block: 1.5rem; }
.cp-dynamic-editor-box__label { display: none; }
.cp-shortcode-editor-box { margin-block: 1.5rem; }

@media (max-width: 900px) {
  .cp-event-list-grid,
  .cp-home-event-grid { grid-template-columns: 1fr; }
  .cp-ticket-card { grid-template-columns: 100px minmax(0,1fr); }
  .cp-ticket-card__purchase { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; border-left: 0; border-top: 1px solid var(--cp-line); }
  .cp-ticket-card__price-label { display: none; }
  .cp-event-detail { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .cp-section { padding-block: 2.75rem; }
  .cp-ticket-card { grid-template-columns: 82px minmax(0,1fr); }
  .cp-ticket-card__media { min-height: 96px; }
  .cp-ticket-card__purchase { padding: .7rem .8rem; }
  .cp-event-detail__facts { grid-template-columns: 1fr; }
  .cp-dynamic-event { grid-template-columns: 104px 1fr; }
  .cp-dynamic-event__image img { min-height: 150px; }
  .cp-dynamic-event__meta > div { grid-template-columns: 1fr; gap: .1rem; }
}

/* Public directories introduced in Core 1.10.0. */
.cp-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
}
.cp-directory-card {
  overflow: hidden;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: 1rem;
  box-shadow: var(--cp-card-shadow);
}
.cp-directory-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; }
.cp-directory-card__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.cp-directory-card__body { padding: 1.15rem; }
.cp-directory-card__body h3 { margin: 0 0 .45rem; font-size: 1.2rem; }
.cp-directory-card__meta { color: var(--cp-text-muted); font-size: .88rem; }
.cp-directory-card__brands { font-size: .9rem; }
.cp-directory-ticket { display: inline-flex; padding: .6rem .9rem; border-radius: 999px; background: var(--cp-copper); color: var(--cp-dark); text-decoration: none; font-weight: 750; }
.cp-directory-empty { padding: 1.25rem; background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: 1rem; }
@media(max-width:900px){.cp-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.cp-directory-grid{grid-template-columns:1fr;}}


/* === Visitor & Messe audit 2.22.0 === */
.cp-hub-grid .cp-menu-card { min-height: 100%; }
.cp-card-kicker { margin: 0 0 .45rem; color: var(--cp-copper); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cp-compact-cta { padding-block: clamp(2rem, 4vw, 3.5rem); }
.cp-compact-cta h2 { margin-bottom: .35rem; }
.cp-compact-cta p:not(.cp-eyebrow) { color: var(--cp-text-on-dark); max-width: 62ch; }
.cp-form-shell { background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: 1rem; padding: clamp(1rem, 2vw, 1.5rem); }
.cp-small-note { font-size: .9rem; color: var(--cp-text-muted); }
.cp-floorplan-shell { background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: 1rem; padding: clamp(1rem, 2vw, 1.5rem); }
.cp-floorplan-public__media img { width: 100%; height: auto; display: block; border-radius: .75rem; }
.cp-floorplan-public__content { margin-top: 1rem; }
.cp-location-card { display: grid; gap: .35rem; padding: 1rem 1.15rem; background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: 1rem; }
.cp-location-card__title { margin: 0; font-weight: 800; color: var(--cp-text-strong); }
.cp-location-card__meta, .cp-location-card__address { margin: 0; color: var(--cp-text-body); }
.cp-directory-tools { display: flex; gap: .75rem; align-items: center; justify-content: space-between; margin: 0 0 1rem; flex-wrap: wrap; }
.cp-directory-search { flex: 1 1 18rem; max-width: 36rem; }
.cp-directory-search label { display:block; font-weight:700; margin-bottom:.35rem; }
.cp-directory-search input { width:100%; min-height:44px; border:1px solid var(--cp-line); border-radius:.65rem; padding:.65rem .8rem; background:var(--cp-white); color:var(--cp-text-strong); }
.cp-directory-count { color: var(--cp-text-muted); font-size:.9rem; }
.cp-directory-card[hidden] { display:none !important; }
.cp-section-compact { padding-block: clamp(2rem, 4vw, 3.5rem); }
@media (max-width: 700px) {
  .cp-compact-cta .wp-block-buttons { width: 100%; }
  .cp-compact-cta .wp-block-button { width: 100%; }
  .cp-compact-cta .wp-block-button__link { width: 100%; text-align:center; }
}

/* 2.22.4 — final surface contrast guardrails. */
.cp-surface-dark,
.cp-surface-dark > *,
.cp-surface-dark .wp-block-group:not(.cp-surface-light):not(.has-white-background-color) {
  --cp-surface-fg: #fffdf8;
  --cp-surface-muted: #eee5d7;
}
.cp-surface-dark :is(h1,h2,h3,h4,h5,h6):not(.has-text-color),
.cp-surface-dark .wp-block-heading:not(.has-text-color) {
  color: var(--cp-surface-fg) !important;
}
.cp-surface-dark :is(p,li,dt,dd,figcaption):not(.has-text-color) {
  color: var(--cp-surface-muted) !important;
  opacity: 1 !important;
}
.cp-surface-dark .cp-eyebrow:not(.has-text-color) {
  color: #f3b08d !important;
}
.cp-surface-dark a:not(.wp-element-button) {
  color: #ffd0b8 !important;
}
.cp-surface-dark :is(.cp-surface-light,.has-white-background-color,.has-cream-background-color,.cp-feature-card) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption):not(.has-text-color) {
  color: #211e17 !important;
}
.cp-surface-dark :is(.cp-surface-light,.has-white-background-color,.has-cream-background-color,.cp-feature-card) a:not(.wp-element-button) {
  color: #7e3a20 !important;
}

/* 2.22.7 – Uniform team portraits. Every team image fills the same frame. */
.cp-team-card > .wp-block-image,
.cp-team-card .cp-team-card__portrait {
	width: 100%;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--cp-dark);
}
.cp-team-card > .wp-block-image img,
.cp-team-card .cp-team-card__portrait img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	display: block;
	object-position: var(--cp-team-focal-x, 50%) var(--cp-team-focal-y, 50%) !important;
	transform: scale(var(--cp-team-zoom, 1));
	transform-origin: var(--cp-team-focal-x, 50%) var(--cp-team-focal-y, 50%);
}

/* 2.22.10 – Team cards are equal and compact, without artificial vertical stretching. */
.cp-team-grid {
  align-items: start;
  grid-auto-rows: auto;
}
.cp-team-card {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  align-self: start;
}
.cp-team-card > .wp-block-image,
.cp-team-card .cp-team-card__portrait {
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 4 / 5;
}
.cp-team-card__content {
  display: block;
  flex: none;
  width: 100%;
  min-height: 15.5rem;
  box-sizing: border-box;
}
.cp-team-card__content > :last-child {
  margin-bottom: 0;
}

/* Force every card to start on the same visual baseline. */
.cp-team-grid > .cp-team-card {
  margin-top: 0 !important;
  transform: none;
}
.cp-team-grid > .cp-team-card:hover {
  transform: translateY(-.25rem);
}

@media (max-width: 1000px) {
  .cp-team-card__content { min-height: 14.5rem; }
}
@media (max-width: 650px) {
  .cp-team-card__content { min-height: 0; }
}

/* 2.23.0 – Team cards follow the longest real card content, without fixed empty space. */
.cp-team-card__content {
  min-height: var(--cp-team-copy-height, 0px);
}
@media (max-width: 650px) {
  .cp-team-grid { --cp-team-copy-height: 0px !important; }
  .cp-team-card__content { min-height: 0 !important; }
}

/* 2.23.0 – Public Club Bottlings directory. */
.cp-bottling-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 2rem);
}
.cp-bottling-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(50,42,0,.09);
  border-radius: var(--cp-radius-lg);
  box-shadow: 0 1rem 2.8rem rgba(50,42,0,.08);
}
.cp-bottling-card__media { aspect-ratio: 4 / 3; overflow: hidden; }
.cp-bottling-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.cp-bottling-card__body { padding: clamp(1.2rem, 2.5vw, 1.8rem); }
.cp-bottling-card__body h3 { margin-top:0; }
@media (max-width: 900px) { .cp-bottling-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .cp-bottling-grid { grid-template-columns: 1fr; } }

/* 2.24.0 – Marke & Inhalte */
.cp-news-page .wp-block-post-template{gap:1.25rem}.cp-news-page .cp-post-card{height:100%;overflow:hidden;border:1px solid rgba(50,42,0,.08);border-radius:1.25rem;box-shadow:0 .8rem 2.5rem rgba(50,42,0,.06)}.cp-news-page .cp-post-card .wp-block-post-featured-image{margin:0}.cp-news-page .cp-post-card .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}.cp-news-page .cp-post-card>:not(.wp-block-post-featured-image){margin-left:1.2rem;margin-right:1.2rem}.cp-news-page .cp-post-card .wp-block-post-date{margin-top:1rem;color:#7a6f63}.cp-news-page .cp-post-card .wp-block-post-excerpt{margin-bottom:1.25rem}.cp-news-page .cp-post-card .wp-block-post-title a{color:inherit;text-decoration:none}.cp-news-page .cp-post-card .wp-block-post-title a:hover{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}.cp-empty-card{padding:clamp(1.5rem,4vw,2.4rem);border-radius:1.25rem}.cp-newsletter-page-grid{gap:clamp(2rem,5vw,5rem)}.cp-form-card{min-height:100%;padding:clamp(1.4rem,3.5vw,2.4rem);border:1px solid rgba(50,42,0,.08);border-radius:1.35rem;box-shadow:0 .8rem 2.5rem rgba(50,42,0,.06)}.cp-form-card iframe,.cp-dynamic-editor-box iframe{display:block;width:100%;max-width:100%;border:0}.cp-dynamic-empty{padding:1.25rem;border:1px dashed rgba(168,78,43,.3);border-radius:1rem;background:#fff8f3;color:#332b24}.cp-dynamic-empty p{margin:.5rem 0 0}.cp-dynamic-empty a{color:#a84e2b;font-weight:700}.cp-editor-only-note{font-size:.86rem}.cp-gallery-page .cp-cloud-module{margin-top:0}.cp-contact-grid{align-items:stretch}.cp-contact-grid>.wp-block-column{display:flex;flex-direction:column}.cp-contact-grid .cp-contact-card,.cp-contact-grid .cp-form-card{flex:1}.cp-contact-card .wp-block-buttons{margin-top:auto;padding-top:1rem}@media(max-width:781px){.cp-news-page .wp-block-post-template{grid-template-columns:1fr!important}.cp-newsletter-page-grid,.cp-contact-grid{gap:1.25rem}.cp-form-card{padding:1.2rem}}


/* Block 4: Cask Society */
.cp-society-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.cp-society-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(46,39,32,.12);border-radius:1.1rem;overflow:hidden;box-shadow:0 .4rem 1.5rem rgba(35,28,22,.06)}
.cp-society-card__media{aspect-ratio:16/10;overflow:hidden;display:block}.cp-society-card__media img{width:100%;height:100%;object-fit:cover;display:block}.cp-society-card__body{padding:1.2rem;display:flex;flex-direction:column;gap:.55rem}.cp-society-card__body time{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#806f5f}.cp-society-card__body h3,.cp-society-card__body p{margin:0}.cp-society-card__body a{color:#7f371f;font-weight:700}
.cp-society-download-list{display:grid;gap:.8rem}.cp-society-download{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1.15rem 1.25rem;background:#fff;border:1px solid rgba(46,39,32,.12);border-radius:1rem}.cp-society-download h3,.cp-society-download p{margin:.15rem 0}.cp-society-download__type{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#806f5f}
.cp-society-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cp-society-gallery-card{margin:0;background:#fff;border-radius:1rem;overflow:hidden}.cp-society-gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.cp-society-gallery-card figcaption{display:grid;gap:.2rem;padding:.8rem 1rem}.cp-society-gallery-card figcaption span{color:#665b50;font-size:.9rem}
.cp-society-gate{padding:1.5rem;border-radius:1rem;background:#fff;border:1px solid rgba(46,39,32,.12)}.cp-member-dashboard-intro{padding-block:clamp(2rem,4vw,4rem) 1rem}
@media(max-width:900px){.cp-society-card-grid,.cp-society-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cp-society-card-grid,.cp-society-gallery-grid{grid-template-columns:1fr}.cp-society-download{grid-template-columns:1fr}.cp-society-download .wp-element-button{width:100%;text-align:center}}

/* Society application statutes */
.cp-society-statutes{margin:0 0 clamp(1.5rem,3vw,2.5rem);padding:clamp(1.25rem,2.5vw,2rem);border:1px solid rgba(65,54,22,.14);border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(62,48,15,.06)}
.cp-society-statutes__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;margin-bottom:1rem}
.cp-society-statutes__head h2{margin:.15rem 0 0}
.cp-society-statutes__version{margin:.35rem 0 0;opacity:.72}
.cp-society-statutes__viewer{overflow:hidden;border-radius:16px;background:#faf7ef}
.cp-society-application__form{margin-top:clamp(1.5rem,3vw,2.5rem)}
@media (max-width:700px){.cp-society-statutes__head{align-items:flex-start}.cp-society-statutes__head .wp-element-button{width:100%;text-align:center}}


/* 2.32.1 – society + portal readability */
.cp-dashboard-event-card,
.cp-dashboard-event-card :where(h1,h2,h3,h4,p,span):not(.cp-dashboard-event-card__date *){
  color:#fffdf8!important;
  opacity:1!important;
}
.cp-dashboard-event-card p{color:#f0e8d9!important}
.cp-dashboard-event-card__date strong{color:#322a00!important}
.cp-dashboard-event-card__date span{color:#a84e2b!important}
.cp-dashboard-community,
.cp-dashboard-community :where(h1,h2,h3,h4,p,.cp-eyebrow,.cp-dashboard-community__hint){color:#fffdf8!important;opacity:1!important}
.cp-dashboard-community p,.cp-dashboard-community .cp-dashboard-community__hint{color:#f0e8d9!important}
.cp-dashboard-community .cp-eyebrow{color:#e7c78d!important}
.cp-cloud-hero,.cp-cloud-hero :where(h1,h2,h3,p,.cp-eyebrow){color:#fffdf8!important;opacity:1!important}
.cp-cloud-hero .cp-eyebrow{color:#e7c78d!important}
.cp-cloud-hero__lead{color:#f0e8d9!important}
.cp-society-content-page .cp-eyebrow-dark{color:#8e5e28!important}
.cp-society-content-page :where(h1,h2,h3,p,li){opacity:1!important}
.cp-dynamic-editor-box{color:#282217!important}
.cp-dynamic-editor-box :where(h1,h2,h3,p,li,a,small,strong){opacity:1!important}
.cp-dynamic-editor-box .cp-dynamic-editor-box__label{color:#8e5e28!important}
#ausstellerliste{scroll-margin-top:7rem}

/* 2.34.2 – sponsor CTA contrast */
.cp-sponsor-cta,
.cp-sponsor-cta .wp-block-group{color:#fff!important}
.cp-sponsor-cta .cp-eyebrow{color:#f1d9aa!important;opacity:1!important}
.cp-sponsor-cta h1,.cp-sponsor-cta h2,.cp-sponsor-cta h3,
.cp-sponsor-cta .wp-block-heading{color:#fff!important;opacity:1!important}
.cp-sponsor-cta p{color:rgba(255,255,255,.9)!important;opacity:1!important}
.cp-sponsor-cta .wp-block-button__link{color:#211d18!important}

/* Legal contrast hardening – v2.37.1 */
.cp-legal-hero{color:#fff!important;background:radial-gradient(circle at 84% 18%,rgba(223,116,71,.22),transparent 28rem),linear-gradient(135deg,#211c00,#3b3100 64%,#503609)!important}
.cp-legal-hero .cp-eyebrow,.cp-legal-hero h1,.cp-legal-hero .cp-legal-lead{color:#fff!important;opacity:1!important}
.cp-legal-hero .cp-eyebrow{color:#f3c5ae!important}
.cp-legal-hero .cp-legal-lead{color:rgba(255,255,255,.86)!important}
.cp-legal-section,.cp-legal-layout{color:#2d2822!important}
.cp-legal-layout h2,.cp-legal-layout h3,.cp-legal-layout p,.cp-legal-layout li,.cp-legal-layout strong{color:#2d2822!important}

/* 2.37.3 – final visual continuity + Society community + CTA polish */
/* Remove the cream "stripes" created by block-gap between full-width sections and before the footer. */
.wp-site-blocks > header + main,
.wp-site-blocks > main + footer,
.wp-site-blocks > main + .wp-block-template-part,
.cp-main > .wp-block-post-content,
.cp-front-page > .wp-block-post-content {
  margin-block-start: 0 !important;
}
.cp-main > .alignfull + .alignfull,
.cp-front-page > .alignfull + .alignfull,
.cp-main .wp-block-post-content > .alignfull + .alignfull,
.cp-front-page .wp-block-post-content > .alignfull + .alignfull,
.cp-main .entry-content > .alignfull + .alignfull,
.cp-front-page .entry-content > .alignfull + .alignfull {
  margin-block-start: 0 !important;
}
/* Old customized footer templates may still contain the former separator. */
.cp-site-footer > .wp-block-separator,
.cp-site-footer-v27 > .wp-block-separator {
  display: none !important;
}

/* Exhibitor hero: always keep all three desktop actions in one row. */
@media (min-width: 782px) {
  .cp-page-hero .wp-block-buttons,
  .cp-exhibitor-hero-actions,
  .cp-exhibitor-hero-jump-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 1rem !important;
  }
  .cp-page-hero .wp-block-buttons > .wp-block-button,
  .cp-exhibitor-hero-actions > .wp-block-button {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}
.cp-exhibitor-hero-jump .wp-block-button__link {
  background: transparent !important;
  color: #fffdf8 !important;
  border: 2px solid rgba(255,255,255,.78) !important;
  text-decoration: none !important;
}
.cp-exhibitor-hero-jump .wp-block-button__link:hover,
.cp-exhibitor-hero-jump .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.10) !important;
  border-color: #fff !important;
}

/* Ticket primary action: maximum readable contrast and no inherited underline. */
.cp-ticket-card__purchase a.cp-ticket-buy,
.cp-ticket-buy {
  color: #17130d !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  font-weight: 850 !important;
}
.cp-ticket-card__purchase a.cp-ticket-buy:hover,
.cp-ticket-card__purchase a.cp-ticket-buy:focus-visible {
  color: #17130d !important;
  text-decoration: none !important;
}

/* Society: customer-facing empty states never expose backend terminology. */
.cp-dashboard-empty {
  border: 1px solid rgba(50,42,0,.10);
  border-radius: 1.1rem;
  background: #fff;
  color: #5f574c;
}
.cp-dashboard-empty p { color: #5f574c !important; }

/* WhatsApp community card inside the Society portal. */
.cp-dashboard-community {
  grid-template-columns: minmax(0,.85fr) minmax(330px,1.15fr) !important;
}
.cp-dashboard-community__join {
  display: grid;
  grid-template-columns: minmax(150px,190px) minmax(0,1fr);
  gap: 1.35rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.075);
}
.cp-dashboard-community__qr {
  padding: .7rem;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.14);
}
.cp-dashboard-community__qr img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.cp-dashboard-community__action strong {
  display: block;
  margin-bottom: .35rem;
  color: #fffdf8;
  font-size: 1.15rem;
}
.cp-dashboard-community__action p {
  margin: 0 0 1rem;
  color: #f0e8d9 !important;
  line-height: 1.55;
}
.cp-dashboard-community__action .wp-element-button {
  display: inline-flex;
  justify-content: center;
  color: #211c17 !important;
  background: #e97845 !important;
  text-decoration: none !important;
}
@media (max-width: 900px) {
  .cp-dashboard-community { grid-template-columns: 1fr !important; }
}
@media (max-width: 620px) {
  .cp-dashboard-community__join { grid-template-columns: 1fr; }
  .cp-dashboard-community__qr { width: min(240px,100%); justify-self: center; }
}

/* 2.37.4 – Cask Society membership steps: stable card widths and natural wrapping */
.cp-society-membership .cp-society-steps {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: clamp(.9rem, 1.5vw, 1.35rem) !important;
}
.cp-society-membership .cp-society-steps > .wp-block-column {
  flex: 1 1 14.5rem !important;
  min-width: 14.5rem !important;
  margin: 0 !important;
}
.cp-society-membership .cp-society-step {
  box-sizing: border-box;
  min-height: 100%;
  padding: clamp(1.25rem, 2vw, 1.8rem);
}
.cp-society-membership .cp-society-step h3,
.cp-society-membership .cp-society-step p {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
.cp-society-membership .cp-society-step h3 {
  text-wrap: balance;
  line-height: 1.08;
}
.cp-society-membership .cp-society-step > p:not(.cp-society-step__number) {
  line-height: 1.55;
}
@media (max-width: 1120px) {
  .cp-society-membership .cp-society-steps > .wp-block-column {
    flex-basis: calc(50% - .75rem) !important;
    min-width: 18rem !important;
  }
}
@media (max-width: 680px) {
  .cp-society-membership .cp-society-steps > .wp-block-column {
    flex-basis: 100% !important;
    min-width: 0 !important;
  }
}


/* 2.38.0 – Core-integrated Floorplan */
.cp-floorplan-slot{width:100%;max-width:var(--wp--style--global--wide-size,1200px)!important;margin:clamp(1.4rem,3vw,2.5rem) auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.cp-floorplan-slot>.wp-block-shortcode{margin:0!important}
.cpfp-planning,.cpfp-wrap{box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto;border-radius:22px;overflow:hidden}
.cpfp-planning{position:relative;isolation:isolate;min-height:0!important;padding:clamp(2rem,4vw,3.5rem)!important;color:#f7f1e7!important;background:linear-gradient(135deg,#15120f 0%,#281e17 58%,#17130f 100%)!important;border:1px solid rgba(211,170,86,.66);box-shadow:0 20px 55px rgba(20,14,8,.18)}
.cpfp-planning:before{content:"";position:absolute;inset:9px;border:1px solid rgba(211,170,86,.22);border-radius:15px;pointer-events:none}
.cpfp-planning-glow{position:absolute;width:360px;height:260px;left:26%;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(211,170,86,.18),transparent 70%);pointer-events:none}
.cpfp-planning,.cpfp-planning *{opacity:1!important;visibility:visible!important;filter:none!important;mix-blend-mode:normal!important;animation:none!important;transform:none!important;-webkit-text-fill-color:currentColor!important}
.cpfp-planning>*{position:relative;z-index:2}
.cpfp-kicker{margin:0 0 .55rem;color:#efc873!important;font-size:.73rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cpfp-planning h2,.entry-content .cpfp-planning h2,.wp-block-post-content .cpfp-planning h2{margin:0 0 .75rem!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;font-size:clamp(2rem,4.2vw,3.35rem)!important;line-height:1.03!important;text-shadow:none!important}
.cpfp-planning p,.cpfp-planning li,.entry-content .cpfp-planning p,.wp-block-post-content .cpfp-planning p{color:#eee5da!important;-webkit-text-fill-color:#eee5da!important;background:none!important;font-size:clamp(.98rem,1.25vw,1.08rem)!important;line-height:1.55!important}
.cpfp-planning .cpfp-lead{margin:.15rem 0 1.15rem!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:clamp(1.05rem,1.6vw,1.28rem)!important;font-weight:750!important}
.cpfp-planning>p:not(.cpfp-lead):not(.cpfp-footer):not(.cpfp-admin-message){margin:.25rem 0 1rem!important}
.cpfp-planning ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.8rem;margin:1.2rem 0!important;padding:0!important;list-style:none!important}
.cpfp-planning li{position:relative;margin:0!important;padding-left:1.25rem!important}
.cpfp-planning li:before{content:"";position:absolute;left:0;top:.58em;width:7px;height:7px;border-radius:50%;background:#e1b65d;box-shadow:0 0 0 4px rgba(225,182,93,.13)}
.cpfp-footer{margin:1rem 0 0!important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);font-style:italic}
.cpfp-admin-message{margin:1rem 0 0!important;padding:.75rem .9rem;border:1px solid rgba(239,200,115,.35);border-radius:.7rem;background:rgba(239,200,115,.1)}
.cpfp-wrap{background:#f8f5ef;border:1px solid #d8ccbc;box-shadow:0 18px 45px rgba(38,29,20,.1)}
.cpfp-internal-note{padding:.7rem 1rem;background:#765319;color:#fff;font-size:.88rem;font-weight:750;text-align:center}
.cpfp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:#211915;color:#fff}
.cpfp-toolbar-label{margin-bottom:.45rem;color:#dccdbb;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.cpfp-floor-toggles{display:flex;flex-wrap:wrap;gap:.45rem}
.cpfp-floor-toggle{position:relative;display:inline-flex;cursor:pointer}.cpfp-floor-toggle input{position:absolute;opacity:0;pointer-events:none}
.cpfp-floor-toggle span,.cpfp-zoom button{appearance:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.48rem .78rem;background:transparent;color:#fff;font:inherit;font-size:.84rem;cursor:pointer}
.cpfp-floor-toggle input:checked+span{background:#d7ad58;color:#211915;border-color:#d7ad58;font-weight:800}.cpfp-floor-toggle input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.cpfp-zoom{display:flex;gap:.35rem;white-space:nowrap}.cpfp-zoom button:hover{background:rgba(255,255,255,.1)}
.cpfp-floor-view{display:grid;gap:1rem;padding:1rem;background:#e9e1d5}
.cpfp-floor-panel{overflow:hidden;border:1px solid #d2c4b3;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(38,29,20,.07)}
.cpfp-floor-title{margin:0!important;padding:.75rem 1rem;border-bottom:1px solid #e4dbcf;background:#f7f2ea;color:#31271e!important;font-size:.95rem!important}
.cpfp-stage{display:flex;align-items:center;justify-content:center;width:100%;min-height:280px;max-height:min(78vh,920px);overflow:auto;background:#fff;aspect-ratio:var(--cpfp-floor-ratio,1.6)}
.cpfp-svg{display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%;max-height:min(78vh,920px);background:#fff}
.cpfp-room{fill:#f2eadc;fill-opacity:.72;stroke:#9b7a4d;stroke-width:2}.cpfp-wall{fill:none;stroke:#231e19;stroke-linecap:round;stroke-linejoin:round}.cpfp-infra{fill:#fff;stroke:#724d31;stroke-width:2}.cpfp-stand{fill:#d9b667;stroke:#684a1c;stroke-width:2}.cpfp-label{font-family:inherit;fill:#2e261e;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-weight:650}.cpfp-empty{padding:2.5rem 1rem;text-align:center;color:#685847}
@media(max-width:760px){.cpfp-planning{padding:1.75rem 1.35rem!important;border-radius:17px}.cpfp-planning ul{grid-template-columns:1fr}.cpfp-toolbar{align-items:flex-start;flex-direction:column}.cpfp-floor-view{padding:.65rem}.cpfp-stage{min-height:260px;max-height:72vh}.cpfp-svg{max-height:72vh}.cpfp-zoom{align-self:flex-end}}

/* 2.40.1 – Floorplan: numbered map + per-floor legend */
.cpfp-number-badge circle{fill:#bd8e2f;stroke:#fff7e7;stroke-width:2;filter:drop-shadow(0 2px 3px rgba(45,29,12,.18))}
.cpfp-number-badge text{fill:#fff!important;stroke:none!important;text-anchor:middle;dominant-baseline:central;font-family:inherit;font-weight:850;pointer-events:none}
.cpfp-infra-group{pointer-events:none}.cpfp-stair-line{stroke:#7a211e;stroke-width:2}.cpfp-stair-arrow{stroke:#7a211e;stroke-width:3}.cpfp-stair-arrowhead{fill:none;stroke:#7a211e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cpfp-lift-divider,.cpfp-lift-arrow{fill:none;stroke:#4d4039;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cpfp-infra-symbol,.cpfp-stand-label{fill:#2e261e;text-anchor:middle;dominant-baseline:middle;font-family:inherit;font-weight:750;pointer-events:none}
.cpfp-door-line{stroke:#7a211e;stroke-width:3}.cpfp-door-swing{fill:none;stroke:#7a211e;stroke-width:2}.cpfp-table{fill:#f5eee3;stroke:#cbbba7;stroke-width:2}
.cpfp-legend{padding:1rem 1.15rem 1.15rem;border-top:1px solid #dfd4c7;background:#fff}.cpfp-legend-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.cpfp-legend-head h4{margin:0!important;color:#31271e!important;font-size:.76rem!important;font-weight:850!important;letter-spacing:.13em;text-transform:uppercase}.cpfp-legend-toggle{appearance:none;padding:.42rem .7rem;border:1px solid #ded4c7;border-radius:.55rem;background:#fff;color:#5f5145;font:inherit;font-size:.76rem;cursor:pointer}.cpfp-legend-toggle:hover{border-color:#b89043;color:#31271e}.cpfp-legend-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem 1.25rem;margin:0!important;padding:0!important;list-style:none!important}.cpfp-legend-list li{display:grid;grid-template-columns:1.55rem minmax(0,1fr);align-items:center;gap:.5rem;margin:0!important;color:#4a4036;font-size:.88rem;line-height:1.35}.cpfp-legend-number{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#bd8e2f;color:#fff;font-size:.72rem;font-weight:850}
@media(max-width:900px){.cpfp-legend-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cpfp-legend-list{grid-template-columns:1fr}.cpfp-legend-head{align-items:flex-start}.cpfp-number-badge circle{stroke-width:3}}

/* Floorplan stands 2.40.2 */
.cpfp-stand-group{cursor:pointer;outline:none}.cpfp-stand-group:focus .cpfp-stand,.cpfp-stand-group:hover .cpfp-stand{fill:#e7c56f;stroke:#4e3215;stroke-width:3}
.cpfp-stand-detail{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.25rem 1rem;margin:1rem 1rem 0;padding:1rem 3.2rem 1rem 1rem;border:1px solid #d4c39e;border-radius:12px;background:#fff9ed;color:#31271e;box-shadow:0 8px 22px rgba(38,29,20,.08)}
.cpfp-stand-detail[hidden]{display:none}.cpfp-stand-detail>span{grid-row:1/3;align-self:center;padding:.45rem .65rem;border-radius:8px;background:#bd8e2f;color:#fff;font-size:.85rem;font-weight:850}.cpfp-stand-detail>strong{font-size:1rem}.cpfp-stand-detail>small{color:#6a5a49}.cpfp-stand-detail>a{grid-column:3;grid-row:1/3;color:#6c4d18;font-weight:750;text-decoration:none}.cpfp-stand-detail-close{position:absolute;right:.7rem;top:.55rem;width:2rem;height:2rem;border:0;background:transparent;color:#5f5145;font-size:1.4rem;cursor:pointer}
@media(max-width:700px){.cpfp-stand-detail{grid-template-columns:auto 1fr}.cpfp-stand-detail>a{grid-column:2;grid-row:auto}.cpfp-stand-detail>span{grid-row:1/4}}

/* 2.40.5 – Besucherorientierter Lageplan */
.cpfp-presentation-note{padding:.68rem 1rem;border-bottom:1px solid #dfd4c7;background:#fff8eb;color:#66533d;font-size:.82rem;text-align:center}
.cpfp-stage{background-color:#fbf8f2;background-image:radial-gradient(circle at 1px 1px,rgba(105,83,57,.08) 1px,transparent 0);background-size:18px 18px}
.cpfp-svg{background:transparent}
.cpfp-room{fill:#f3eee6;fill-opacity:.9;stroke:#a99b8b;stroke-width:2;transition:fill .18s ease,stroke .18s ease,filter .18s ease}
.cpfp-room:hover{filter:brightness(1.025);stroke-width:2.7}
.cpfp-room.cpfp-zone--tasting{fill:#f5e6bd;stroke:#b4892f}
.cpfp-room.cpfp-zone--gastronomy{fill:#ead6c8;stroke:#9a6248}
.cpfp-room.cpfp-zone--service{fill:#e9e5dc;stroke:#81776a}
.cpfp-room.cpfp-zone--sanitary{fill:#deebea;stroke:#5f7e7a}
.cpfp-room.cpfp-zone--circulation{fill:#e8e2d7;stroke:#786c5e}
.cpfp-room.cpfp-zone--exhibitor{fill:#f1ddb0;stroke:#a97920}
.cpfp-room.cpfp-zone--restricted{fill:#dfdcd8;stroke:#746d67;fill-opacity:.72}
.cpfp-wall{stroke:#3d342c;stroke-opacity:.82}
.cpfp-infra{fill:#fffdf8;stroke:#76573f;filter:drop-shadow(0 2px 2px rgba(55,39,24,.08))}
.cpfp-infra-group.cpfp-zone--sanitary .cpfp-infra{fill:#edf5f4;stroke:#5f7e7a}
.cpfp-infra-group.cpfp-zone--circulation .cpfp-infra{fill:#f4f0e8;stroke:#786c5e}
.cpfp-number-badge circle{fill:#b98a31;stroke:#fffaf0;stroke-width:1.35}
.cpfp-legend-list li{grid-template-columns:1.55rem .75rem minmax(0,1fr)}
.cpfp-legend-swatch{display:block;width:.62rem;height:.62rem;border-radius:3px;background:#d8d0c5;border:1px solid #a99b8b}
.cpfp-legend-item.cpfp-zone--tasting .cpfp-legend-swatch{background:#f5e6bd;border-color:#b4892f}
.cpfp-legend-item.cpfp-zone--gastronomy .cpfp-legend-swatch{background:#ead6c8;border-color:#9a6248}
.cpfp-legend-item.cpfp-zone--service .cpfp-legend-swatch{background:#e9e5dc;border-color:#81776a}
.cpfp-legend-item.cpfp-zone--sanitary .cpfp-legend-swatch{background:#deebea;border-color:#5f7e7a}
.cpfp-legend-item.cpfp-zone--circulation .cpfp-legend-swatch{background:#e8e2d7;border-color:#786c5e}
.cpfp-legend-item.cpfp-zone--exhibitor .cpfp-legend-swatch{background:#f1ddb0;border-color:#a97920}
.cpfp-legend-item.cpfp-zone--restricted .cpfp-legend-swatch{background:#dfdcd8;border-color:#746d67}
.cpfp-stand-marker{fill:#35251d;stroke:#d6aa52;stroke-width:3;filter:drop-shadow(0 3px 4px rgba(42,27,16,.2));transition:fill .16s ease,stroke-width .16s ease,transform .16s ease;transform-box:fill-box;transform-origin:center}
.cpfp-stand-marker-label{fill:#fff!important;text-anchor:middle;dominant-baseline:central;font-family:inherit;font-weight:850;letter-spacing:.025em;pointer-events:none}
.cpfp-stand-group:hover .cpfp-stand-marker,.cpfp-stand-group:focus .cpfp-stand-marker{fill:#6f211f;stroke-width:4;transform:scale(1.06)}
.cpfp-stand{fill:#e5c66f;stroke:#6f4d1d;stroke-width:2.5;filter:drop-shadow(0 2px 3px rgba(54,35,17,.12))}
.cpfp-table{fill:#f5eee3;stroke:#c2b19d;stroke-width:2}
@media(max-width:700px){.cpfp-presentation-note{text-align:left}.cpfp-legend-list li{grid-template-columns:1.55rem .75rem minmax(0,1fr)}}


/* 2.40.6 – einheitliche Eckmarker und robuste Legende */
.cpfp-badge-layer{pointer-events:none}
.cpfp-number-badge circle{fill:#bd8e2f;stroke:#fffaf0;stroke-width:2.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px rgba(45,29,12,.2))}
.cpfp-number-badge text{font-size:inherit;paint-order:normal;dominant-baseline:central;text-anchor:middle}
.cpfp-legend.is-collapsed{padding-bottom:.7rem}
.cpfp-legend.is-collapsed .cpfp-legend-head{margin-bottom:0}
.cpfp-legend.is-collapsed .cpfp-legend-list{display:none!important}
.cpfp-legend-list[aria-hidden="true"]{display:none!important}
.cpfp-legend-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:8.7rem}
.cpfp-infra-symbol{font-size:clamp(7px,1.1vw,14px)!important}
@media(max-width:560px){.cpfp-legend-toggle{min-width:7.8rem}.cpfp-number-badge circle{stroke-width:2.2}}


/* Floorplan 2.40.7: echte, stets aufrechte Infrastruktur-Piktogramme */
.cpfp-pictogram{pointer-events:none;color:#2e261e}
.cpfp-icon-fill{fill:currentColor;stroke:none}
.cpfp-icon-stroke,.cpfp-icon-outline,.cpfp-icon-divider{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cpfp-icon-divider{stroke-width:1.5;opacity:.72}
.cpfp-icon-no-fill{fill:none!important}
.cpfp-lift-pictogram,.cpfp-wc-pictogram{color:#2e261e}

/* Floorplan 2.40.8: einheitliche Bildschirmmarker + Aussteller-/Whiskysuche */
.cpfp-search{position:relative;padding:1rem;border-bottom:1px solid #dfd4c7;background:#fff}
.cpfp-search-label{display:block;margin:0 0 .45rem;color:#31271e;font-size:.78rem;font-weight:850;letter-spacing:.04em}
.cpfp-search-row{position:relative;display:flex;align-items:center}
.cpfp-search-input{width:100%!important;min-height:2.85rem!important;margin:0!important;padding:.72rem 3rem .72rem .95rem!important;border:1px solid #d5c7b5!important;border-radius:.75rem!important;background:#fbf8f2!important;color:#31271e!important;font:inherit!important;box-shadow:none!important}
.cpfp-search-input:focus{outline:0!important;border-color:#b98a31!important;box-shadow:0 0 0 3px rgba(185,138,49,.16)!important}
.cpfp-search-clear{position:absolute;right:.45rem;top:50%;translate:0 -50%;display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:999px;background:transparent;color:#6a5a49;font-size:1.25rem;cursor:pointer}
.cpfp-search-clear:hover{background:#eee5d8;color:#31271e}
.cpfp-search-results{position:absolute;z-index:30;top:calc(100% - .55rem);left:1rem;right:1rem;max-height:22rem;overflow:auto;border:1px solid #d5c7b5;border-radius:.8rem;background:#fff;box-shadow:0 16px 35px rgba(38,29,20,.16)}
.cpfp-search-results[hidden]{display:none!important}
.cpfp-search-result{display:grid;width:100%;gap:.15rem;padding:.75rem .9rem;border:0;border-bottom:1px solid #eee6da;background:#fff;color:#31271e;text-align:left;cursor:pointer}
.cpfp-search-result:last-child{border-bottom:0}.cpfp-search-result:hover,.cpfp-search-result:focus{outline:0;background:#fff7e8}
.cpfp-search-result strong{font-size:.9rem}.cpfp-search-result span{overflow:hidden;color:#756657;font-size:.76rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.cpfp-search-empty{padding:1rem;color:#756657;font-size:.85rem;text-align:center}
.cpfp-stand-group{transition:opacity .18s ease,filter .18s ease}
.cpfp-stand-group.is-search-muted{opacity:.22;filter:grayscale(.75)}
.cpfp-stand-group.is-search-match .cpfp-stand-marker,.cpfp-stand-group.is-search-match .cpfp-stand,.cpfp-stand-group.is-selected .cpfp-stand-marker,.cpfp-stand-group.is-selected .cpfp-stand{stroke:#8b1f1c!important;stroke-width:5!important;filter:drop-shadow(0 0 7px rgba(185,138,49,.8))}
.cpfp-stand-detail-meta{grid-column:2/4;display:grid;gap:.1rem;margin-top:.35rem;color:#5f5145;font-size:.82rem;white-space:pre-line}
.cpfp-stand-detail-meta b{color:#31271e;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:700px){.cpfp-search{padding:.75rem}.cpfp-search-results{left:.75rem;right:.75rem}.cpfp-stand-detail-meta{grid-column:2}}


/* Floorplan detail drawer – 2.40.10 */
.cpfp-detail-backdrop{position:fixed;inset:0;z-index:9997;background:rgba(20,16,12,.34);opacity:0;transition:opacity .22s ease;backdrop-filter:blur(2px)}
.cpfp-detail-backdrop[hidden]{display:none!important}.cpfp-detail-backdrop.is-open{opacity:1}
.cpfp-stand-detail{position:fixed!important;z-index:9998!important;top:50%!important;right:clamp(16px,3vw,38px)!important;left:auto!important;bottom:auto!important;display:block!important;width:min(420px,calc(100vw - 32px))!important;max-height:min(82vh,780px)!important;margin:0!important;padding:1.35rem 1.35rem 1.4rem!important;overflow:auto!important;transform:translate(110%,-50%)!important;border:1px solid rgba(185,138,49,.28)!important;border-radius:22px!important;background:#fff!important;color:#2f271f!important;box-shadow:0 24px 70px rgba(32,24,16,.26)!important;opacity:0!important;visibility:hidden!important;transition:transform .28s ease,opacity .22s ease,visibility .22s ease!important}
.cpfp-stand-detail[hidden]{display:none!important}.cpfp-stand-detail.is-open{transform:translate(0,-50%)!important;opacity:1!important;visibility:visible!important}
.cpfp-stand-detail-close{position:absolute!important;top:.8rem!important;right:.8rem!important;display:grid!important;place-items:center!important;width:2.5rem!important;height:2.5rem!important;padding:0!important;border:1px solid #dfd5c8!important;border-radius:999px!important;background:#fff!important;color:#31271e!important;font-size:1.65rem!important;line-height:1!important;cursor:pointer!important}
.cpfp-stand-detail-close:hover{background:#f7f1e7!important}
.cpfp-detail-kicker{margin:0 3.2rem .4rem 0;color:#a87517;font-size:.82rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.cpfp-stand-detail h3{margin:0 3.2rem .35rem 0!important;color:#211a15!important;font-size:clamp(1.45rem,2.4vw,2rem)!important;line-height:1.08!important;letter-spacing:-.025em!important}
.cpfp-detail-origin{margin:.15rem 0 1rem!important;color:#786a5d!important;font-size:.95rem!important}
.cpfp-detail-section{margin:1rem 0 0;padding-top:1rem;border-top:1px solid #ece4d8}
.cpfp-detail-section h4{margin:0 0 .55rem!important;color:#2b231d!important;font-size:.76rem!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.cpfp-detail-section ul{display:grid;gap:.45rem;margin:0!important;padding:0!important;list-style:none!important}
.cpfp-detail-section li{position:relative;margin:0!important;padding-left:1rem!important;color:#504438!important;font-size:.95rem!important;line-height:1.45!important}
.cpfp-detail-section li:before{content:'•';position:absolute;left:0;color:#b98a31;font-weight:900}
.cpfp-detail-link{display:flex!important;align-items:center!important;justify-content:center!important;margin-top:1.25rem!important;padding:.85rem 1rem!important;border-radius:12px!important;background:linear-gradient(135deg,#c69736,#9f711e)!important;color:#fff!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 8px 20px rgba(159,113,30,.18)!important}
.cpfp-detail-link:hover{filter:brightness(1.04)}
@media(min-width:901px){.cpfp-detail-backdrop{background:rgba(20,16,12,.18)}}
@media(max-width:900px){html.cpfp-detail-open{overflow:hidden}.cpfp-detail-backdrop{background:rgba(20,16,12,.42)}.cpfp-stand-detail{top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-width:none!important;max-height:min(76vh,680px)!important;border-radius:24px 24px 0 0!important;transform:translateY(105%)!important}.cpfp-stand-detail.is-open{transform:translateY(0)!important}.cpfp-stand-detail:before{content:'';display:block;width:48px;height:5px;margin:-.35rem auto .9rem;border-radius:999px;background:#d8cec1}}


/* 2.40.10 – Compact floorplan number markers matching legend size */
.cpfp-number-badge circle{stroke-width:1.35}

/* 2.41.3 Floorplan Foundation: Bereichsmarker exakt wie die Legendenkreise. */
.cpfp-number-badge circle{fill:#bd8e2f!important;stroke:none!important;filter:none!important}
.cpfp-number-badge text{fill:#fff!important;font-weight:850!important;text-anchor:middle!important;dominant-baseline:central!important}
.cpfp-legend-number{background:#bd8e2f!important;color:#fff!important}

/* 2.41.3: Stockwerke werden auf die tatsächliche Geometrie zugeschnitten und responsiv eingepasst. */
.cpfp-floor-panel .cpfp-stage{box-sizing:border-box}


/* 2.41.3 – definitive floorplan badge rendering */
.cpfp-number-badge circle{fill:#bd8e2f!important;stroke:none!important;filter:none!important}
.cpfp-number-badge text{fill:#fff!important;stroke:none!important;font-family:inherit!important;font-weight:850!important;text-anchor:middle!important;dominant-baseline:central!important;paint-order:normal!important;filter:none!important}
.cpfp-badge-layer{pointer-events:none;overflow:visible}

/* 2.41.4 – authoritative floorplan marker rendering */
.cpfp-badge-layer{pointer-events:none!important;overflow:visible!important}
.cpfp-number-badge{pointer-events:none!important}
.cpfp-number-badge circle{fill:#bd8e2f!important;stroke:none!important;filter:none!important}
.cpfp-number-badge text{fill:#fff!important;stroke:none!important;background:none!important;font-weight:850!important;text-anchor:middle!important;dominant-baseline:middle!important;paint-order:normal!important;filter:none!important}


/* 2.41.5 – Besucheransicht: ruhiger, konsistenter und bildschirmstabil */
.cpfp-floor-view{gap:1.25rem;padding:clamp(.65rem,1.8vw,1.25rem);background:#eee7dc}
.cpfp-floor-panel{border-color:#d8cbbd;border-radius:18px;box-shadow:0 12px 32px rgba(49,37,27,.08)}
.cpfp-floor-title{padding:.85rem 1.15rem;background:#faf6ef;border-bottom-color:#e6ddd1;font-size:1rem!important}
.cpfp-stage{min-height:clamp(320px,54vw,760px);max-height:none;overflow:hidden;padding:clamp(12px,2.2vw,30px);background-color:#fcfaf6;background-image:radial-gradient(circle at 1px 1px,rgba(104,82,58,.055) 1px,transparent 0);background-size:24px 24px}
.cpfp-svg{width:100%!important;height:100%!important;max-height:none!important;overflow:visible}
.cpfp-room,.cpfp-infra,.cpfp-wall,.cpfp-door-line,.cpfp-door-swing,.cpfp-stair-line,.cpfp-stair-arrow,.cpfp-stair-arrowhead{vector-effect:non-scaling-stroke}
.cpfp-room{stroke-width:1.65;fill-opacity:.78;filter:drop-shadow(0 1px 1px rgba(49,37,27,.035))}
.cpfp-room:hover{stroke-width:2.05;filter:brightness(1.015) drop-shadow(0 2px 4px rgba(49,37,27,.07))}
.cpfp-wall{stroke-width:2!important;stroke:#4b4036;stroke-opacity:.78}
.cpfp-infra{stroke-width:1.75;filter:none}
.cpfp-stair-line{stroke-width:1.45}.cpfp-stair-arrow,.cpfp-stair-arrowhead{stroke-width:2.1}
.cpfp-door-line{stroke-width:2.1}.cpfp-door-swing{stroke-width:1.55;opacity:.9}
.cpfp-number-badge circle{fill:#bd8e2f!important;stroke:none!important;filter:drop-shadow(0 1px 1.5px rgba(45,29,12,.14))!important}
.cpfp-number-badge text{fill:#fff!important;font-weight:850!important}
.cpfp-stand-marker{fill:#31251e!important;stroke:#c9993e!important;stroke-width:2!important;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px rgba(42,27,16,.16))}
.cpfp-stand-marker-label{fill:#fff!important;font-weight:820!important;letter-spacing:.035em!important}
.cpfp-stand-group:hover .cpfp-stand-marker,.cpfp-stand-group:focus .cpfp-stand-marker{fill:#5f201e!important;stroke-width:2.5!important;transform:none}
.cpfp-legend{padding:1rem 1.2rem 1.2rem;background:#fffdf9}
.cpfp-legend-list{gap:.6rem 1.5rem}
.cpfp-legend-number{width:1.35rem;height:1.35rem;box-shadow:0 1px 2px rgba(45,29,12,.12)}
@media(max-width:760px){.cpfp-stage{min-height:320px;padding:10px}.cpfp-floor-view{padding:.55rem}.cpfp-room{stroke-width:1.45}}

/* Cask Passion Floorplan 2.43.0 – complete visitor renderer rebuild */
.cpfp-wrap{--cpfp-gold:#bd8e2f;--cpfp-ink:#241c16;--cpfp-muted:#6f6256;--cpfp-line:#ddd2c5;--cpfp-paper:#fff;position:relative;isolation:isolate;color:var(--cpfp-ink)!important;font-family:inherit!important}
.cpfp-wrap,.cpfp-wrap *{box-sizing:border-box}
.cpfp-floor-view{display:grid;gap:1.25rem;padding:clamp(.7rem,1.7vw,1.3rem)!important;background:#eee7dc!important}
.cpfp-floor-panel{overflow:hidden;border:1px solid #d8cbbd!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 34px rgba(49,37,27,.08)!important}
.cpfp-floor-title{margin:0!important;padding:.9rem 1.2rem!important;border-bottom:1px solid #e7ddd0!important;background:#faf6ef!important;color:#2a211a!important;font-size:clamp(1rem,1.4vw,1.2rem)!important;font-weight:800!important;line-height:1.2!important}
.cpfp-stage{position:relative!important;display:block!important;width:100%!important;min-height:280px!important;max-height:min(76vh,820px)!important;overflow:auto!important;padding:clamp(12px,2vw,28px)!important;background-color:#fcfaf6!important;background-image:radial-gradient(circle at 1px 1px,rgba(104,82,58,.055) 1px,transparent 0)!important;background-size:24px 24px!important}
.cpfp-svg{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;overflow:visible!important;transform-origin:center center!important}
.cpfp-marker-layer{position:absolute!important;inset:clamp(12px,2vw,28px)!important;z-index:5!important;pointer-events:none!important}
.cpfp-number-chip{display:inline-grid!important;place-items:center!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border:0!important;border-radius:999px!important;background:var(--cpfp-gold)!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:800!important;line-height:1!important;letter-spacing:0!important;text-align:center!important;text-indent:0!important;white-space:nowrap!important;box-shadow:0 2px 7px rgba(73,49,13,.18)!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
.cpfp-map-number{position:absolute!important;transform:translate(-50%,-50%)!important;z-index:10!important}
.cpfp-legend{position:relative!important;display:block!important;margin:0!important;padding:1rem 1.1rem 1.1rem!important;border-top:1px solid #e7ddd0!important;background:#fff!important;color:#2b231d!important;opacity:1!important;filter:none!important}
.cpfp-legend,.cpfp-legend *{opacity:1!important;color:inherit;filter:none!important;mix-blend-mode:normal!important;text-shadow:none!important}
.cpfp-legend-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;margin:0 0 .85rem!important}
.cpfp-legend-head h4{margin:0!important;color:#221b16!important;font-size:.82rem!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.cpfp-legend-toggle{appearance:none!important;padding:.65rem .9rem!important;border:1px solid #ddd2c5!important;border-radius:12px!important;background:#fff!important;color:#5f5145!important;font-size:.84rem!important;font-weight:650!important;cursor:pointer!important}
.cpfp-legend-toggle:hover{background:#faf6ef!important}
.cpfp-legend-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.65rem 1.2rem!important;margin:0!important;padding:0!important;list-style:none!important}
.cpfp-legend.is-collapsed .cpfp-legend-list{display:none!important}
.cpfp-legend-item{display:grid!important;grid-template-columns:24px 13px minmax(0,1fr)!important;align-items:center!important;gap:.58rem!important;min-width:0!important;margin:0!important;padding:0!important;color:#51463c!important;font-size:.91rem!important;line-height:1.35!important}
.cpfp-legend-number{position:static!important;transform:none!important}
.cpfp-legend-swatch{display:block!important;width:13px!important;height:13px!important;border:1.5px solid currentColor!important;border-radius:3px!important;background:#f2ece3!important}
.cpfp-legend-text{min-width:0!important;color:#51463c!important;font-weight:520!important;overflow-wrap:anywhere!important}
.cpfp-zone--tasting .cpfp-legend-swatch{background:#f7e7b8!important;color:#ba8519!important}.cpfp-zone--gastronomy .cpfp-legend-swatch{background:#efdad0!important;color:#a35f3e!important}.cpfp-zone--sanitary .cpfp-legend-swatch{background:#e7f2f3!important;color:#557f7c!important}.cpfp-zone--circulation .cpfp-legend-swatch{background:#eeeae3!important;color:#766d61!important}.cpfp-zone--service .cpfp-legend-swatch{background:#eeeef0!important;color:#777985!important}.cpfp-zone--restricted .cpfp-legend-swatch{background:#ece8e4!important;color:#77716b!important}
.cpfp-room{stroke-width:1.65!important;fill-opacity:.78!important;vector-effect:non-scaling-stroke!important;filter:none!important}.cpfp-wall,.cpfp-door-line,.cpfp-door-swing,.cpfp-stair-line,.cpfp-stair-arrow,.cpfp-stair-arrowhead,.cpfp-infra{vector-effect:non-scaling-stroke!important}
.cpfp-stand-marker{fill:#2b211b!important;stroke:var(--cpfp-gold)!important;stroke-width:2!important;vector-effect:non-scaling-stroke!important}.cpfp-stand-marker-label{fill:#fff!important;stroke:none!important;text-anchor:middle!important;dominant-baseline:central!important;font-weight:850!important;pointer-events:none!important}.cpfp-stand-group{cursor:pointer!important}.cpfp-stand-group.is-selected .cpfp-stand-marker,.cpfp-stand-group.is-search-match .cpfp-stand-marker{stroke:#8b1f1c!important;stroke-width:4!important;filter:drop-shadow(0 0 6px rgba(189,142,47,.7))!important}.cpfp-stand-group.is-search-muted{opacity:.22!important}
.cp-portal-stand-embed .cpfp-wrap{margin-top:1rem!important;border:1px solid #ded4c7!important;border-radius:22px!important;overflow:hidden!important;background:#fff!important}.cp-portal-stand-embed .cpfp-toolbar{background:#1f1915!important}.cp-portal-stand-embed .cpfp-legend{background:#fff!important}.cp-portal-stand-embed .cpfp-legend-text,.cp-portal-stand-embed .cpfp-legend-item{color:#3f352d!important}.cp-portal-stand-embed .cpfp-floor-view{background:#f4eee5!important}
@media(max-width:900px){.cpfp-legend-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cpfp-stage{max-height:70vh!important}.cpfp-map-number{transform:translate(-50%,-50%)!important}}
@media(max-width:580px){.cpfp-legend-list{grid-template-columns:1fr!important}.cpfp-legend-head{align-items:flex-start!important}.cpfp-number-chip{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;font-size:11px!important}.cpfp-legend-item{grid-template-columns:22px 12px minmax(0,1fr)!important}.cpfp-stage{padding:10px!important}.cpfp-marker-layer{inset:10px!important}}

/* 2.43.1 – clear ownership in portals */
.cp-portal-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.cp-portal-readonly-card{padding:24px;border:1px solid #ded4c7;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(35,25,16,.045)}.cp-portal-readonly-card h2{margin:.35rem 0 1rem;color:#211a15!important;font-size:1.2rem!important}.cp-portal-readonly-content{min-height:86px;padding:16px;border-radius:14px;background:#f8f4ed;color:#3d342d!important;line-height:1.65}.cp-portal-empty-value{color:#81766b!important;font-style:italic}.cp-portal-managed-summary{margin:20px 0;padding:20px 24px;border-left:4px solid #b58a3a;border-radius:16px;background:#fff}.cp-portal-managed-summary span,.cp-portal-managed-summary strong,.cp-portal-managed-summary small{display:block}.cp-portal-managed-summary span{color:#80672e!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase}.cp-portal-managed-summary strong{margin:.3rem 0;color:#211a15!important;font-size:1.35rem!important}.cp-portal-managed-summary small{color:#6f665c!important}.cp-portal-admin-form{border:2px dashed #d7bf8b!important}.cp-portal-admin-form:before{content:'Administrative Bearbeitung';display:block;margin:-4px 0 18px;color:#8d6826;font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}@media(max-width:760px){.cp-portal-role-grid{grid-template-columns:1fr}}

/* Cask Passion Floorplan 2.44.0 – rebuilt visitor renderer */
.cpfp-v3{--cpfp-gold:#bd8e2f;--cpfp-ink:#241b16;--cpfp-paper:#fbf8f2;--cpfp-line:#d8cbbb;border:1px solid #d9ccbc;border-radius:22px;overflow:hidden;background:#f4eee4;box-shadow:0 24px 55px rgba(55,39,24,.10)}
.cpfp-v3 .cpfp-search{padding:1rem 1.2rem;background:#fff;border:0;border-bottom:1px solid #e5dacd}.cpfp-v3 .cpfp-search-label{color:#2d241e}.cpfp-v3 .cpfp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#201713;color:#fff;border:0}.cpfp-v3 .cpfp-toolbar-label{color:#dacdbd;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}.cpfp-v3 .cpfp-floor-toggles{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.5rem}.cpfp-v3 .cpfp-floor-tab{appearance:none;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:.7rem 1rem;background:transparent;color:#fff;font:inherit;font-weight:750;cursor:pointer;transition:.18s}.cpfp-v3 .cpfp-floor-tab:hover,.cpfp-v3 .cpfp-floor-tab.is-active{background:#e4b854;color:#261b10;border-color:#e4b854}.cpfp-v3 .cpfp-zoom{display:flex;gap:.45rem}.cpfp-v3 .cpfp-zoom button{width:2.6rem;height:2.6rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:transparent;color:#fff;cursor:pointer}.cpfp-v3 .cpfp-zoom button[data-cpfp-zoom="reset"]{width:auto;min-width:4.8rem;padding:0 .8rem}
.cpfp-v3 .cpfp-floor-view{padding:1.15rem}.cpfp-v3-panel{border:1px solid #d9ccbc;border-radius:18px;overflow:hidden;background:#fff}.cpfp-v3 .cpfp-floor-title{margin:0;padding:1rem 1.2rem;border-bottom:1px solid #e7ddd1;background:#fffaf4;color:#2c211a;font-size:1.1rem}.cpfp-v3-viewport{padding:1rem;background:#faf7f1}.cpfp-v3-stage{position:relative;width:100%;min-height:320px;max-height:min(72vh,760px);overflow:auto;border-radius:14px;background-color:#fcfaf6;background-image:radial-gradient(circle at 1px 1px,rgba(102,78,50,.07) 1px,transparent 0);background-size:18px 18px}.cpfp-v3-canvas{position:absolute;inset:0;transform-origin:center;transition:transform .18s ease}.cpfp-v3 .cpfp-svg,.cpfp-v3 .cpfp-marker-layer{position:absolute;inset:0;width:100%;height:100%}.cpfp-v3 .cpfp-marker-layer{pointer-events:none}.cpfp-v3 .cpfp-map-number{position:absolute;transform:translate(-50%,-50%);z-index:8}.cpfp-v3 .cpfp-number-chip{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:1.55rem!important;height:1.55rem!important;min-width:1.55rem!important;border:0!important;border-radius:50%!important;background:var(--cpfp-gold)!important;color:#fff!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:.78rem!important;line-height:1!important;font-weight:800!important;text-align:center!important;box-shadow:0 3px 8px rgba(57,38,15,.2)!important}.cpfp-v3 .cpfp-room{stroke-width:1.55;vector-effect:non-scaling-stroke}.cpfp-v3 .cpfp-wall{vector-effect:non-scaling-stroke}.cpfp-v3 .cpfp-infra{stroke-width:1.6;vector-effect:non-scaling-stroke}.cpfp-v3 .cpfp-door-line,.cpfp-v3 .cpfp-door-swing{vector-effect:non-scaling-stroke}.cpfp-v3 .cpfp-stand-marker{stroke-width:2.2;vector-effect:non-scaling-stroke}.cpfp-v3 .cpfp-v3-legend{margin:0;border:0;border-top:1px solid #e7ddd1;border-radius:0;background:#fff;padding:1rem 1.2rem 1.2rem;color:#2c211a}.cpfp-v3 .cpfp-legend-head h4{color:#2c211a}.cpfp-v3 .cpfp-legend-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem 1.1rem}.cpfp-v3 .cpfp-legend-item{display:grid;grid-template-columns:1.55rem .7rem minmax(0,1fr);align-items:center;gap:.45rem;color:#3c3128}.cpfp-v3 .cpfp-legend-text{color:#3c3128!important;opacity:1!important}.cpfp-v3 .cpfp-legend-toggle{border:1px solid #dccfbe;border-radius:10px;background:#fff;color:#4a3b2e;padding:.65rem .85rem;font-weight:700}.cpfp-v3 .cpfp-legend.is-collapsed .cpfp-legend-list{display:none!important}.cpfp-v3 .cpfp-legend.is-collapsed{padding-bottom:1rem}.cpfp-v3 .cpfp-stand-detail{position:fixed;z-index:100002;right:1rem;top:max(1rem,calc(50% - 320px));width:min(390px,calc(100vw - 2rem));max-height:min(640px,calc(100vh - 2rem));overflow:auto;margin:0;padding:1.3rem;border:1px solid #dfd1bf;border-radius:18px;background:#fff;color:#2a2019;box-shadow:0 24px 70px rgba(32,22,15,.26);transform:translateX(calc(100% + 2rem));opacity:0;transition:.18s}.cpfp-v3 .cpfp-stand-detail.is-open{transform:none;opacity:1}.cpfp-v3 .cpfp-detail-backdrop{position:fixed;z-index:100001;inset:0;background:rgba(21,14,10,.3);opacity:0;transition:.18s}.cpfp-v3 .cpfp-detail-backdrop.is-open{opacity:1}.cpfp-v3 .cpfp-stand-detail-close{position:absolute;right:.75rem;top:.65rem}.cpfp-v3 .cpfp-detail-kicker{color:#9b6f1f;font-weight:850}.cpfp-v3 .cpfp-detail-link{display:inline-flex;margin-top:.7rem;padding:.7rem .9rem;border-radius:10px;background:#bd8e2f;color:#fff;text-decoration:none;font-weight:800}
@media(max-width:900px){.cpfp-v3 .cpfp-legend-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cpfp-v3-stage{max-height:66vh}.cpfp-v3 .cpfp-toolbar{align-items:flex-start;flex-direction:column}.cpfp-v3 .cpfp-zoom{align-self:flex-end}}
@media(max-width:620px){.cpfp-v3 .cpfp-floor-view{padding:.65rem}.cpfp-v3-viewport{padding:.55rem}.cpfp-v3-stage{min-height:270px}.cpfp-v3 .cpfp-legend-list{grid-template-columns:1fr}.cpfp-v3 .cpfp-stand-detail{left:.5rem;right:.5rem;top:auto;bottom:.5rem;width:auto;max-height:72vh;transform:translateY(calc(100% + 1rem));border-radius:18px}.cpfp-v3 .cpfp-stand-detail.is-open{transform:none}.cpfp-v3 .cpfp-number-chip{width:1.42rem!important;height:1.42rem!important;min-width:1.42rem!important;font-size:.72rem!important}}


/* Floorplan 2.44.1 – global, sharp stand detail overlay */
body > .cpfp-detail-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:block;
  background:rgba(25,20,16,.42)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}
body > .cpfp-detail-backdrop[hidden]{display:none!important}
body > .cpfp-detail-backdrop.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body > .cpfp-stand-detail{
  position:fixed!important;
  z-index:2147483001!important;
  top:50%!important;
  right:clamp(16px,3vw,40px)!important;
  left:auto!important;
  bottom:auto!important;
  width:min(420px,calc(100vw - 32px))!important;
  max-height:min(82vh,780px)!important;
  margin:0!important;
  overflow:auto!important;
  transform:translate(110%,-50%)!important;
  opacity:0!important;
  visibility:hidden!important;
  filter:none!important;
  -webkit-filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  isolation:isolate!important;
  contain:layout paint style!important;
  background:#fff!important;
  color:#2f271f!important;
  border:1px solid rgba(185,138,49,.30)!important;
  border-radius:22px!important;
  box-shadow:0 28px 85px rgba(24,17,11,.34)!important;
  transition:transform .24s ease,opacity .18s ease,visibility .18s ease!important;
}
body > .cpfp-stand-detail[hidden]{display:none!important}
body > .cpfp-stand-detail.is-open{
  transform:translate(0,-50%)!important;
  opacity:1!important;
  visibility:visible!important;
}
body > .cpfp-stand-detail,
body > .cpfp-stand-detail *{
  opacity:1;
  filter:none!important;
  -webkit-filter:none!important;
  text-shadow:none!important;
  mix-blend-mode:normal!important;
}
html.cpfp-detail-open,body.cpfp-detail-open{overflow:hidden!important}
@media(max-width:900px){
  body > .cpfp-stand-detail{
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    max-width:none!important;
    max-height:min(78vh,700px)!important;
    border-radius:24px 24px 0 0!important;
    transform:translateY(105%)!important;
  }
  body > .cpfp-stand-detail.is-open{transform:translateY(0)!important}
}

/* Floorplan Foundation 2.45.3: Veranstaltungstage aus Eventfrog-Gruppe */
.cpfp-v3 .cpfp-event-filter[hidden]{display:none!important}
.cpfp-v3 .cpfp-event-toggles{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.5rem}
.cpfp-v3 .cpfp-event-tab{appearance:none;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:.7rem 1rem;background:transparent;color:#fff;font:inherit;font-weight:750;cursor:pointer;transition:.18s}
.cpfp-v3 .cpfp-event-tab:hover,.cpfp-v3 .cpfp-event-tab.is-active{background:#e4b854;color:#261b10;border-color:#e4b854}
@media(max-width:900px){.cpfp-v3 .cpfp-event-filter{width:100%}.cpfp-v3 .cpfp-event-tab{padding:.6rem .8rem}}

/* 3.3.1 – robuste Floorplan-Nummern und kundenfreundliche Ausstellerkarten */
.cpfp-v3 .cpfp-map-number-svg{pointer-events:none}
.cpfp-v3 .cpfp-map-number-svg circle{fill:#c18d20;stroke:none;filter:drop-shadow(0 2px 4px rgba(55,36,12,.22))}
.cpfp-v3 .cpfp-map-number-svg text{fill:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:800;line-height:1}

.cp-exhibitor-tools{margin-bottom:1.4rem}
.cp-exhibitor-directory{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.25rem!important}
.cp-exhibitor-directory__card{display:grid!important;grid-template-columns:minmax(145px,34%) minmax(0,1fr)!important;min-height:260px!important;overflow:hidden!important;border:1px solid #e0d3c3!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 34px rgba(55,38,20,.08)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.cp-exhibitor-directory__card:hover{transform:translateY(-3px);border-color:#c99a42!important;box-shadow:0 18px 42px rgba(55,38,20,.13)!important}
.cp-exhibitor-card__media{display:flex!important;align-items:center!important;justify-content:center!important;min-height:100%!important;padding:1.4rem!important;background:linear-gradient(145deg,#f3ecdf,#fbf8f2)!important;border-right:1px solid #eadfD2!important;overflow:hidden!important}
.cp-exhibitor-card__media img{display:block!important;width:100%!important;height:100%!important;max-height:190px!important;object-fit:contain!important;border-radius:0!important}
.cp-exhibitor-card__placeholder{display:flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:24px;background:#211914;color:#e4bb68;font-size:1.75rem;font-weight:850;letter-spacing:.04em}
.cp-exhibitor-card__body{display:flex!important;flex-direction:column!important;padding:1.35rem 1.45rem!important;min-width:0!important}
.cp-exhibitor-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.cp-exhibitor-card__eyebrow{margin:0 0 .28rem!important;color:#9a6c16!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.cp-exhibitor-card__body h3{margin:0!important;font-size:clamp(1.18rem,1.5vw,1.5rem)!important;line-height:1.15!important}
.cp-exhibitor-card__body h3 a{color:#211914!important;text-decoration:none!important}
.cp-exhibitor-card__stand{flex:0 0 auto;display:inline-flex;align-items:center;padding:.42rem .65rem;border-radius:999px;background:#211914;color:#fff;font-size:.76rem;font-weight:800;white-space:nowrap}
.cp-exhibitor-directory .cp-directory-card__meta{margin:.65rem 0 0!important;color:#75695e!important;font-size:.88rem!important;font-weight:650!important}
.cp-exhibitor-card__excerpt{margin:.85rem 0!important;color:#4f463e!important;line-height:1.55!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cp-exhibitor-card__brands{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.1rem}
.cp-exhibitor-card__brands span{display:inline-flex;padding:.35rem .56rem;border-radius:999px;background:#f1e6d3;color:#654a1d;font-size:.76rem;font-weight:750;line-height:1.2}
.cp-exhibitor-card__footer{margin-top:auto;padding-top:1rem}
.cp-exhibitor-card__link{display:inline-flex;align-items:center;gap:.45rem;color:#845d16!important;font-weight:850!important;text-decoration:none!important}
.cp-exhibitor-card__link:hover{color:#4b3410!important}
.cp-page-exhibitors .wp-block-query-no-results{display:none!important}
@media(max-width:1000px){.cp-exhibitor-directory{grid-template-columns:1fr!important}}
@media(max-width:620px){.cp-exhibitor-directory__card{grid-template-columns:1fr!important}.cp-exhibitor-card__media{min-height:170px!important;border-right:0!important;border-bottom:1px solid #eaddcf!important}.cp-exhibitor-card__media img{max-height:135px!important}.cp-exhibitor-card__top{gap:.6rem}.cp-exhibitor-card__body{padding:1.15rem!important}}


/* 3.3.2 – Ausstellerkarten: bessere Breite, Typografie und Textfluss */
.cp-exhibitor-directory{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,540px),1fr))!important;
  align-items:stretch!important;
}
.cp-exhibitor-directory__card:only-child{
  grid-column:1 / -1!important;
  width:min(100%,920px)!important;
  min-height:300px!important;
}
.cp-exhibitor-directory__card{
  grid-template-columns:minmax(220px,34%) minmax(0,1fr)!important;
}
.cp-exhibitor-card__media{
  min-width:0!important;
  padding:1.65rem!important;
}
.cp-exhibitor-card__media img{
  max-width:100%!important;
  max-height:230px!important;
}
.cp-exhibitor-card__body{
  padding:1.65rem 1.8rem!important;
}
.cp-exhibitor-card__top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:.85rem 1.25rem!important;
}
.cp-exhibitor-card__eyebrow{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.cp-exhibitor-card__body h3{
  font-size:clamp(1.45rem,2.1vw,2rem)!important;
  line-height:1.08!important;
  text-wrap:balance!important;
  overflow-wrap:anywhere!important;
}
.cp-exhibitor-card__stand{
  margin-top:.05rem!important;
  font-size:.82rem!important;
}
.cp-exhibitor-directory .cp-directory-card__meta{
  margin-top:.8rem!important;
  font-size:.96rem!important;
  line-height:1.45!important;
}
.cp-exhibitor-card__excerpt{
  margin:.95rem 0 .9rem!important;
  max-width:62ch!important;
  font-size:1rem!important;
  line-height:1.6!important;
  -webkit-line-clamp:4!important;
}
.cp-exhibitor-card__brands{
  margin-top:.15rem!important;
}
.cp-exhibitor-card__footer{
  padding-top:1.15rem!important;
}
@media(max-width:760px){
  .cp-exhibitor-directory__card,
  .cp-exhibitor-directory__card:only-child{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-height:0!important;
  }
  .cp-exhibitor-card__media{
    min-height:190px!important;
    border-right:0!important;
    border-bottom:1px solid #eaddcf!important;
  }
  .cp-exhibitor-card__media img{max-height:165px!important}
}
@media(max-width:460px){
  .cp-exhibitor-card__top{grid-template-columns:1fr!important}
  .cp-exhibitor-card__stand{justify-self:start!important}
  .cp-exhibitor-card__body{padding:1.25rem!important}
}

/* 3.3.2 – Das Ausstellerverzeichnis wird zur Laufzeit geladen; kein Shortcode im Editor. */
.cp-exhibitor-directory-runtime{
  margin:0!important;
  padding:0 clamp(1.25rem,4vw,4rem) clamp(3rem,6vw,6rem)!important;
  background:var(--wp--preset--color--cream,#f7f0e4)!important;
}
.cp-exhibitor-directory-runtime>.alignwide{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}


/* 3.4.0 integrated contact form */
.cp-native-contact-form{background:#fff;border:1px solid rgba(117,82,27,.16);border-radius:28px;padding:clamp(28px,5vw,58px);box-shadow:0 22px 60px rgba(40,29,12,.08)}
.cp-native-contact-form__head>span{display:block;color:#9a6d20;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cp-native-contact-form__head h2{margin:.35rem 0 .7rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.035em}
.cp-native-contact-form__head p{margin:0 0 2rem;color:#6f675c;font-size:1.05rem}
.cp-native-contact-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cp-native-contact-form label{display:grid;gap:8px;font-weight:750;color:#241f19}
.cp-native-contact-form label.is-wide{grid-column:1/-1}
.cp-native-contact-form input,.cp-native-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8cdbc;border-radius:14px;background:#fff;padding:15px 17px;font:inherit;color:#241f19}
.cp-native-contact-form input:focus,.cp-native-contact-form textarea:focus{outline:3px solid rgba(230,112,66,.18);border-color:#e67042}
.cp-contact-consent{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500!important;line-height:1.45}
.cp-contact-consent input{width:auto!important;margin-top:.25rem}
.cp-contact-submit{margin-top:22px;border:0;border-radius:999px;background:#b47c1c;color:#fff;padding:15px 25px;font-weight:800;cursor:pointer}
.cp-contact-hp{position:absolute!important;left:-9999px!important}
.cp-contact-notice{margin:0 0 20px;padding:15px 18px;border-radius:14px}.cp-contact-notice--success{background:#edf8ef;color:#235b2d}.cp-contact-notice--error{background:#fff0ee;color:#8a2e25}
@media(max-width:720px){.cp-native-contact-form__grid{grid-template-columns:1fr}.cp-native-contact-form label.is-wide{grid-column:auto}}

/* Platform 3.7.0: Portal section labels remain legible on cream/white surfaces. */
body .cp-portal-shell:not(.cp-portal-login) .cp-portal-section-head .cp-portal-kicker{color:#765116!important;text-shadow:none!important;}

/* 3.8.1 – Commercial Suite readability safeguard.
 * The portal shell is a light layout container; the Commercial hero defines
 * its own dark surface while cards and tables keep dark text on white.
 */
body .cp-commercial-portal{color:#211e19!important}
body .cp-commercial-portal .cp-commercial-hero{color:#fff!important;background:linear-gradient(125deg,#171512 0%,#28231d 72%,#3a2e1f 100%)!important}
body .cp-commercial-portal .cp-commercial-hero .cp-portal-kicker{color:#efd6a3!important;-webkit-text-fill-color:#efd6a3!important;opacity:1!important}
body .cp-commercial-portal .cp-commercial-hero h1{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
body .cp-commercial-portal .cp-commercial-hero p{color:#eee8df!important;-webkit-text-fill-color:#eee8df!important;opacity:1!important}
body .cp-commercial-portal .cp-commercial-kpis>div,
body .cp-commercial-portal .cp-commercial-card{color:#211e19!important;background:#fff!important}
body .cp-commercial-portal .cp-commercial-kpis strong,
body .cp-commercial-portal .cp-commercial-card h2,
body .cp-commercial-portal .cp-commercial-card th,
body .cp-commercial-portal .cp-commercial-card td{color:#211e19!important;-webkit-text-fill-color:#211e19!important;opacity:1!important}
body .cp-commercial-portal .cp-commercial-kpis span{color:#625a51!important;-webkit-text-fill-color:#625a51!important;opacity:1!important}
body .cp-commercial-portal .cp-commercial-card td a,
body .cp-commercial-portal .cp-commercial-card td a:visited{color:#6f4c16!important;-webkit-text-fill-color:#6f4c16!important;opacity:1!important}

/* 3.8.3 – Commercial Suite final contrast and navigation safeguard. */
body .cp-commercial-portal .cp-commercial-toolbar,
body .cp-commercial-portal .cp-commercial-card{background:#fff!important;color:#211e19!important}
body .cp-commercial-portal .cp-commercial-section-heading,
body .cp-commercial-portal .cp-commercial-section-heading h2{color:#211e19!important;-webkit-text-fill-color:#211e19!important}
body .cp-commercial-portal .cp-commercial-section-heading p{color:#5f574e!important;-webkit-text-fill-color:#5f574e!important}
body .cp-commercial-portal .cp-commercial-tab{color:#3f382f!important;-webkit-text-fill-color:#3f382f!important}
body .cp-commercial-portal .cp-commercial-tab.is-active{color:#fff!important;-webkit-text-fill-color:#fff!important}
body .cp-commercial-portal .cp-commercial-card label,
body .cp-commercial-portal .cp-commercial-card p,
body .cp-commercial-portal .cp-commercial-card strong,
body .cp-commercial-portal .cp-commercial-card small{color:#342f29!important;-webkit-text-fill-color:#342f29!important;opacity:1!important}


/* 4.2.9 – Public impressions page: Messe + Tastings */
.cp-impressions{width:min(100%,1180px);margin-inline:auto;display:grid;gap:clamp(3rem,6vw,5.5rem)}
.cp-impressions__section{min-width:0}
.cp-impressions__heading{max-width:54rem;margin-bottom:clamp(1.25rem,3vw,2rem)}
.cp-impressions__heading h2{margin:.25rem 0 .65rem;color:#211c17;font-size:clamp(2rem,1.65rem + 1.5vw,3.35rem);line-height:1.08}
.cp-impressions__heading>p:not(.cp-eyebrow){margin:0;color:#665c50;font-size:clamp(1rem,.96rem + .25vw,1.15rem);line-height:1.7}
.cp-impressions__gallery{min-width:0}
.cp-impressions__gallery .UseyourDrive,.cp-impressions__gallery .ShareoneDrive,.cp-impressions__gallery iframe,.cp-impressions__gallery img{max-width:100%}
.cp-impressions__empty{padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgba(155,106,27,.22);border-radius:1.35rem;background:rgba(255,255,255,.72);box-shadow:0 .8rem 2.4rem rgba(50,42,0,.05);color:#332b24}
.cp-impressions__empty strong{display:block;font-size:clamp(1.05rem,1rem + .25vw,1.25rem)}
.cp-impressions__empty p{margin:.6rem 0 0;color:#665c50;line-height:1.65}
.cp-impressions__section--tastings{padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(4rem,8vw,7rem);border-top:1px solid rgba(50,42,0,.1)}
@media(max-width:700px){.cp-impressions{gap:2.5rem}.cp-impressions__section--tastings{padding-top:2rem;padding-bottom:3.5rem}.cp-impressions__empty{border-radius:1rem}}


/* 4.3.1 – SEO Center im Portal */
.cp-seo-portal{display:grid;gap:clamp(1.4rem,3vw,2.2rem);color:#211c17;padding-bottom:clamp(4rem,8vw,7rem)}
.cp-seo-portal__hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(2rem,5vw,4rem);border-radius:2rem;background:linear-gradient(125deg,#171511 0%,#211c17 62%,#3f391c 100%);box-shadow:0 1.5rem 3rem rgba(34,28,20,.12);color:#fff}
.cp-seo-portal__hero:after{content:"";position:absolute;right:-8rem;top:-8rem;width:22rem;height:22rem;border-radius:50%;border:1px solid rgba(211,163,75,.25);box-shadow:0 0 0 2rem rgba(211,163,75,.04),0 0 0 5rem rgba(211,163,75,.025);pointer-events:none}
.cp-seo-portal__hero>*{position:relative;z-index:1}
.cp-seo-portal__eyebrow,.cp-seo-card__kicker{margin:0 0 .7rem;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#8a5a13}
.cp-seo-portal__hero h1{margin:0 0 .8rem;font-size:clamp(2.3rem,5vw,4.8rem);line-height:1;color:#fff!important}
.cp-seo-portal__hero p:not(.cp-seo-portal__eyebrow){margin:0;max-width:50rem;font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.65;color:#ffffff!important}
.cp-seo-portal__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}
.cp-seo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.85rem 1.25rem;border-radius:999px;font-weight:800;text-decoration:none!important;white-space:nowrap}
.cp-seo-btn--primary{background:#d3a34b;color:#18140f!important}
.cp-seo-btn--secondary{background:#fff;color:#211c17!important}
.cp-seo-portal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.cp-seo-card{padding:clamp(1.4rem,3vw,2rem);border:1px solid #e2dbd0;border-radius:1.4rem;background:#fff;box-shadow:0 .8rem 2rem rgba(43,35,25,.05)}
.cp-seo-card h2{margin:.15rem 0 .6rem;color:#211c17!important;font-size:clamp(1.2rem,2vw,1.55rem)}
.cp-seo-card p{margin:0;color:#40372f!important;line-height:1.65}
.cp-seo-portal__info{display:flex;gap:2rem;align-items:center;justify-content:space-between;padding:clamp(1.5rem,3vw,2rem);border:1px solid #ddd4c7;border-radius:1.4rem;background:#f7f2e9}
.cp-seo-portal__info h2{margin:0 0 .45rem;color:#211c17!important}
.cp-seo-portal__info p{margin:0;color:#40372f!important;line-height:1.65}
.cp-seo-link{font-weight:900;color:#6f4510!important;white-space:nowrap;text-decoration:underline;text-underline-offset:.18em}
@media(max-width:900px){.cp-seo-portal__hero{grid-template-columns:1fr}.cp-seo-portal__actions{justify-content:flex-start}.cp-seo-portal__grid{grid-template-columns:1fr}.cp-seo-portal__info{align-items:flex-start;flex-direction:column}}


/* 4.3.3 – SEO Center portal contrast hardening */
.cp-seo-portal .cp-seo-card,
.cp-seo-portal .cp-seo-portal__info{
    color:#211c17!important;
}
.cp-seo-portal .cp-seo-card h2,
.cp-seo-portal .cp-seo-portal__info h2{
    color:#17130f!important;
}
.cp-seo-portal .cp-seo-card p,
.cp-seo-portal .cp-seo-portal__info p{
    color:#40372f!important;
}
.cp-seo-portal .cp-seo-card__kicker{
    color:#8a5a13!important;
}
.cp-seo-portal__hero .cp-seo-portal__eyebrow{
    color:#f0c56c!important;
}
.cp-seo-portal__hero h1,
.cp-seo-portal__hero p{
    text-shadow:none!important;
}
@media(max-width:700px){
    .cp-seo-portal{padding-bottom:3.5rem}
}
