/* ============================================================
   CROTONA — Event page: hero + about + practical + footer + section-header utility
   Cream mode only. Mobile-first.
   ============================================================ */

/* ------------------------------------------------------------------
   Section-header utility (shared across all event sections)
   ------------------------------------------------------------------ */

.cr-section-header {
  margin-bottom: 48px;
}

.cr-section-header__tape {
  display: inline-block;
  transform: rotate(-3deg);
  font-size: 13px;
  font-family: var(--font-body);
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 7px 14px;
  border: 2px solid var(--crotona-ink);
  box-shadow: 3px 3px 0 var(--crotona-ink);
}

.cr-section-header__h2 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(40px, 7vw, 88px);
  text-transform: uppercase;
  line-height: 0.95;
  letter-spacing: -0.01em;
  margin: 16px 0 0;
  color: var(--crotona-ink);
}

/* ------------------------------------------------------------------
   FAQ skewX override — local override for event-page FAQ
   ------------------------------------------------------------------ */

.cr-ev-faq .cr-faq__item details[open] {
  transform: rotate(var(--cr-faq-rot, 0deg)) skewX(-2deg);
}

/* ------------------------------------------------------------------
   Pulse dot animation (for ticket-card status)
   ------------------------------------------------------------------ */

@keyframes cr-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(1.4); }
}

/* ------------------------------------------------------------------
   Event single page wrapper
   ------------------------------------------------------------------ */

.cr-event-single {
  background: var(--crotona-cream);
  color: var(--crotona-ink);
}

/* ------------------------------------------------------------------
   EvHero
   ------------------------------------------------------------------ */

.cr-ev-hero {
  position: relative;
  background: var(--crotona-cream);
  color: var(--crotona-ink);
  padding: 80px 24px 64px;
  overflow: hidden;
}

.cr-ev-hero__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 20px;
}

.cr-ev-hero__eyebrow-rule {
  display: block;
  width: 40px;
  height: 2px;
  background: var(--crotona-ink);
}

.cr-ev-hero__eyebrow-tape {
  display: inline-block;
  transform: rotate(-2deg);
  background: var(--crotona-bolt);
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border: 2px solid var(--crotona-ink);
  box-shadow: 3px 3px 0 var(--crotona-ink);
  opacity: 1;
}

.cr-ev-hero__title {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: clamp(48px, 9vw, 120px);
  line-height: 0.88;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--crotona-ink);
  margin: 0 0 24px;
  transform: rotate(-1.5deg);
}

.cr-ev-hero__title-accent {
  color: var(--crotona-bolt);
}

.cr-ev-hero__tagline-tape {
  display: inline-block;
  transform: rotate(-2deg);
  background: var(--crotona-blush);
  font-size: 16px;
  font-weight: var(--fw-bold);
  padding: 10px 18px;
  border: 2px solid var(--crotona-ink);
  box-shadow: 5px 5px 0 var(--crotona-ink);
  margin-bottom: 40px;
}

/* Stat grid: 2-col mobile, 4-col desktop */
.cr-ev-hero__stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 3px solid var(--crotona-ink);
  box-shadow: 8px 10px 0 var(--crotona-ink);
  background: var(--crotona-cream);
  margin-bottom: 48px;
}

.cr-ev-hero__stat {
  position: relative;
  padding: 16px 14px 20px;
  overflow: hidden;
}

.cr-ev-hero__stat + .cr-ev-hero__stat {
  border-left: 3px solid var(--crotona-ink);
}

/* Remove left border from first item in second row on mobile */
.cr-ev-hero__stat:nth-child(3) {
  border-top: 3px solid var(--crotona-ink);
  border-left: none;
}
.cr-ev-hero__stat:nth-child(4) {
  border-top: 3px solid var(--crotona-ink);
}

.cr-ev-hero__stat-label {
  display: block;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.55;
  margin-bottom: 6px;
}

.cr-ev-hero__stat-label::before {
  content: "· ";
}

.cr-ev-hero__stat-value {
  display: block;
  font-size: 22px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.05;
  margin-bottom: 4px;
}

.cr-ev-hero__stat-sub {
  display: block;
  font-size: 13px;
  font-weight: var(--fw-medium);
  opacity: 0.7;
}

/* Accent dot: colored rotated square, bottom-right corner */
.cr-ev-hero__stat-dot {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 14px;
  height: 14px;
  border: 1.5px solid var(--crotona-ink);
  transform: rotate(20deg);
}

.cr-ev-hero__stat-dot--bolt   { background: var(--crotona-bolt); }
.cr-ev-hero__stat-dot--sky    { background: var(--crotona-sky); }
.cr-ev-hero__stat-dot--lilac  { background: var(--crotona-lilac); }
.cr-ev-hero__stat-dot--blush  { background: var(--crotona-blush); }

/* ------------------------------------------------------------------
   Collage (polaroids + ticket-card)
   POLISH-01: ticket-card lijnt visueel uit met polaroids/stat-grid
   POLISH-03: polaroids in paste-up Crotona-stijl (zie Plan 14-02)
   ------------------------------------------------------------------ */

.cr-ev-hero__collage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* ------------------------------------------------------------------
   Polaroid (event-hero) — paste-up pattern, gemodelleerd op .cr-polaroid
   POLISH-03 / Plan 14-02
   ------------------------------------------------------------------ */

.cr-ev-hero__polaroid {
  position: relative;
  display: block;
  background: #ffffff;
  border: 2.5px solid var(--crotona-ink);
  padding: 12px 12px 12px;
  box-shadow: 6px 7px 0 var(--crotona-ink);
  width: 100%;
  max-width: 280px;
  z-index: 2;
  transition: box-shadow 200ms ease, transform 200ms ease;
  /* Geen border-radius (project-conventie) */
}

.cr-ev-hero__polaroid-img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  height: auto;
}

.cr-ev-hero__polaroid-tape {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%) rotate(-4deg);
  width: 90px;
  height: 22px;
  border: 1.5px solid var(--crotona-ink);
  z-index: 3;
}

/* Deterministische tilt-modifiers (geen random per refresh) */
.cr-ev-hero__polaroid--tilt-neg     { transform: rotate(-4deg); }
.cr-ev-hero__polaroid--tilt-pos     { transform: rotate(3deg); }
.cr-ev-hero__polaroid--tilt-neg-sm  { transform: rotate(-1.5deg); }

/* Hover: lichte lift via box-shadow groei (rotatie blijft in inline transform) */
.cr-ev-hero__polaroid:hover {
  box-shadow: 9px 11px 0 var(--crotona-ink);
}

/* ------------------------------------------------------------------
   Ticket card (POLISH-01) — visueel info-blok als 4e stat-cell
   ------------------------------------------------------------------ */

.cr-ev-hero__ticket-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--crotona-cream);
  border: 3px solid var(--crotona-ink);
  box-shadow: 8px 10px 0 var(--crotona-ink);
  padding: 22px 22px 22px;
  text-decoration: none;
  color: var(--crotona-ink);
  position: relative;
  transform: rotate(2.5deg);
  width: 100%;
  max-width: 280px;
  align-self: center;
}

.cr-ev-hero__ticket-card:hover {
  box-shadow: 12px 14px 0 var(--crotona-ink);
  color: var(--crotona-ink);
}

.cr-ev-hero__ticket-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.cr-ev-hero__ticket-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--crotona-bolt);
  animation: cr-pulse 2s ease-in-out infinite;
  flex-shrink: 0;
}

.cr-ev-hero__ticket-dot--soldout {
  background: var(--crotona-tomato);
  animation: none;
}

.cr-ev-hero__ticket-status-label {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* POLISH-02: compacte label-pattern, 1-op-1 op stat-grid stijl */
.cr-ev-hero__ticket-label {
  display: block;
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.55;
}

.cr-ev-hero__ticket-value {
  display: block;
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: clamp(24px, 4.5vw, 36px);
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.cr-ev-hero__ticket-sub {
  display: block;
  font-size: 13px;
  opacity: 0.7;
  margin-bottom: 8px;
}

.cr-ev-hero__ticket-cta {
  display: block;
  width: 100%;
  padding: 12px 16px;
  margin-top: auto;
  background: var(--crotona-bolt);
  border: 2.5px solid var(--crotona-ink);
  box-shadow: 4px 4px 0 var(--crotona-ink);
  font-size: 15px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  text-align: center;
  color: var(--crotona-ink);
  text-decoration: none;
  cursor: pointer;
  /* Geen border-radius (project-conventie) */
}

.cr-ev-hero__ticket-cta--soldout {
  background: var(--crotona-ink);
  color: var(--crotona-cream);
}

/* Reduced-motion: alle paste-up rotaties uit voor accessibility */
@media (prefers-reduced-motion: reduce) {
  .cr-ev-hero__polaroid,
  .cr-ev-hero__polaroid--tilt-neg,
  .cr-ev-hero__polaroid--tilt-pos,
  .cr-ev-hero__polaroid--tilt-neg-sm,
  .cr-ev-hero__ticket-card,
  .cr-ev-hero__ticket-card:hover {
    transform: none;
  }
}

/* ------------------------------------------------------------------
   EvAbout
   ------------------------------------------------------------------ */

.cr-ev-about {
  background: var(--crotona-cream);
  color: var(--crotona-ink);
  padding: 80px 24px;
}

.cr-ev-about__inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.cr-ev-about__card {
  background: rgb(251, 246, 232); /* cream-deep / #fbf6e8 */
  border: 3px solid var(--crotona-ink);
  box-shadow: 8px 10px 0 var(--crotona-ink);
  padding: 32px 36px;
  transform: rotate(0.5deg);
}

/* DEPRECATED v2.9 (CLEAN-03): cr-ev-about__intro vervangen door cr-ev-about__body single-block */
.cr-ev-about__intro {
  font-size: 21px;
  font-weight: var(--fw-medium);
  line-height: 1.5;
  text-wrap: pretty;
  margin-bottom: 16px;
}

.cr-ev-about__body {
  font-size: 16px;
  font-weight: var(--fw-regular);
  line-height: 1.65;
  opacity: 0.88;
  margin: 0;
}

/* CLEAN-03 v2.9: tape-fix voor 'over deze editie' sectie */
.cr-ev-about__inner {
  /* zorg dat tape niet clipt */
  overflow: visible;
}
.cr-ev-about__header-col .cr-section-header__tape {
  /* iets minder agressieve rotatie zodat tape niet over h2 valt */
  transform: rotate(-2deg);
  display: inline-block;
  /* prevent line-break in tape-tekst */
  white-space: nowrap;
  /* ruimte tussen tape en h2 */
  margin-bottom: 0.6rem;
}
.cr-ev-about__body p {
  margin: 0 0 0.9em 0;
}
.cr-ev-about__body p:last-child {
  margin-bottom: 0;
}
.cr-ev-about__empty {
  opacity: 0.6;
  font-style: italic;
  margin: 0;
}
/* Geen border-radius (project-conventie: geen rounded corners) */

@media (max-width: 720px) {
  .cr-ev-about__header-col .cr-section-header__tape {
    transform: rotate(-1.5deg);
    white-space: normal;
  }
}

.cr-ev-about__stickers {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.cr-ev-about__sticker {
  display: inline-block;
  font-size: 13px;
  font-weight: var(--fw-bold);
  padding: 11px 16px;
  border: 2.5px solid var(--crotona-ink);
  box-shadow: 4px 4px 0 var(--crotona-ink);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ------------------------------------------------------------------
   EvPractical
   ------------------------------------------------------------------ */

.cr-ev-practical {
  background: var(--crotona-cream);
  color: var(--crotona-ink);
  padding: 80px 24px;
}

.cr-ev-practical__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 48px;
}

.cr-ev-practical__chip {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: calc(50% - 8px);
  background: var(--crotona-cream);
  border: 2.5px solid var(--crotona-ink);
  box-shadow: 5px 5px 0 var(--crotona-ink);
  padding: 14px 18px;
}

.cr-ev-practical__chip:nth-child(6n+1) { transform: rotate(-1.5deg); background: var(--crotona-cream); }
.cr-ev-practical__chip:nth-child(6n+2) { transform: rotate(1.8deg);  background: var(--crotona-blush); }
.cr-ev-practical__chip:nth-child(6n+3) { transform: rotate(-2deg);   background: var(--crotona-sky); }
.cr-ev-practical__chip:nth-child(6n+4) { transform: rotate(1.2deg);  background: var(--crotona-bolt); }
.cr-ev-practical__chip:nth-child(6n+5) { transform: rotate(-1deg);   background: var(--crotona-lilac); }
.cr-ev-practical__chip:nth-child(6n+6) { transform: rotate(2.5deg);  background: rgb(251, 246, 232); }

.cr-ev-practical__chip-key {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.65;
}

.cr-ev-practical__chip-key::before {
  content: "· ";
}

.cr-ev-practical__chip-val {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}

/* ------------------------------------------------------------------
   EvFooter (event-specific)
   ------------------------------------------------------------------ */

.cr-ev-footer {
  background: var(--crotona-teal);
  color: var(--crotona-cream);
  padding: 64px 24px 40px;
}

.cr-ev-footer__inner {
  max-width: 1240px;
  margin: 0 auto;
}

.cr-ev-footer__hero {
  margin-bottom: 56px;
}

/* CLEAN-05 v2.9 + POLISH-07: samenvatting-tape paste-up effect (rotation + ink-border + offset shadow). Pseudo-uiteinden verwijderd in v2.10 wegens render-glitch. */
.cr-ev-footer__tape {
  display: inline-block;
  padding: 0.5rem 1.1rem;
  font-size: 14px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.02em;
  text-transform: lowercase;
  transform: rotate(-2deg);
  background: var(--crotona-bolt);
  color: var(--crotona-ink);
  border: 2px solid var(--crotona-ink);
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.12), 4px 4px 0 var(--crotona-ink);
  position: relative;
  z-index: 2;
  margin-bottom: 32px;
  /* Geen rounded corners (project-conventie) */
  border-radius: 0;
}

@media (max-width: 720px) {
  .cr-ev-footer__tape {
    transform: rotate(-1.5deg);
    font-size: 0.95rem;
    padding: 0.4rem 0.9rem;
  }
}

.cr-ev-footer__h2 {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: clamp(48px, 7vw, 96px);
  line-height: 0.9;
  text-transform: uppercase;
  color: var(--crotona-cream);
  margin: 0 0 16px;
}

.cr-ev-footer__sub {
  font-size: 22px;
  font-weight: 600;
  color: var(--crotona-bolt);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  opacity: 0.85;
  margin: 0;
}

.cr-ev-footer__grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 48px;
}

.cr-ev-footer__col-tape {
  display: inline-block;
  transform: rotate(-2deg);
  font-size: 13px;
  font-weight: var(--fw-bold);
  padding: 7px 14px;
  border: 2px solid var(--crotona-ink);
  box-shadow: 3px 3px 0 var(--crotona-ink);
  text-transform: uppercase;
  margin-bottom: 14px;
}

.cr-ev-footer__col-tape--bolt   { background: var(--crotona-bolt); color: var(--crotona-ink); }
.cr-ev-footer__col-tape--blush  { background: var(--crotona-blush); color: var(--crotona-ink); }
.cr-ev-footer__col-tape--sky    { background: var(--crotona-sky); color: var(--crotona-ink); }

.cr-ev-footer__col a {
  display: block;
  color: var(--crotona-cream);
  font-size: 15px;
  text-decoration: none;
  opacity: 0.9;
  line-height: 1.6;
}

.cr-ev-footer__col a:hover {
  color: var(--crotona-bolt);
  opacity: 1;
}

.cr-ev-footer__col p {
  font-size: 14px;
  opacity: 0.7;
  margin: 4px 0 0;
  color: var(--crotona-cream);
}

.cr-ev-footer__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  border-top: 1px solid rgba(250, 243, 227, 0.25);
  padding-top: 24px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.4;
  color: var(--crotona-cream);
}

/* ------------------------------------------------------------------
   Responsive: mobile only (max-width: 767px)
   ------------------------------------------------------------------ */

@media (max-width: 767px) {
  /* Stat-grid: keep 2-col on most mobiles, force 1-col on very narrow screens */
  .cr-ev-hero__stat-grid {
    max-width: 100%;
  }

  /* POLISH-01: ticket-card recht op smal scherm zodat hij niet omgekiept onder polaroids staat */
  .cr-ev-hero__ticket-card {
    transform: rotate(0);
  }
  .cr-ev-hero__ticket-card:hover {
    transform: rotate(0);
  }

  /* Practical chips: tighter layout on mobile */
  .cr-ev-practical__chips {
    gap: 10px;
  }

  .cr-ev-practical__chip {
    min-width: calc(50% - 5px);
    padding: 10px 12px;
  }

  .cr-ev-practical__chip-key {
    font-size: 10px;
  }

  .cr-ev-practical__chip-val {
    font-size: 13px;
  }

  /* About card: reduce padding on mobile */
  .cr-ev-about__card {
    padding: 22px 20px;
  }

  .cr-ev-about__intro {
    font-size: 18px;
  }
}

/* Very narrow screens: stat-grid 1-col */
@media (max-width: 399px) {
  .cr-ev-hero__stat-grid {
    grid-template-columns: 1fr;
  }

  /* Reset all border adjustments for 1-col */
  .cr-ev-hero__stat + .cr-ev-hero__stat {
    border-left: none;
    border-top: 3px solid var(--crotona-ink);
  }

  .cr-ev-hero__stat:nth-child(3) {
    border-left: none;
  }

  .cr-ev-hero__stat:nth-child(4) {
    border-left: none;
  }
}

/* ------------------------------------------------------------------
   Responsive: tablet (min-width: 768px)
   ------------------------------------------------------------------ */

@media (min-width: 768px) {
  .cr-ev-hero {
    padding: 96px 56px 72px;
  }

  .cr-ev-hero__stat-value {
    font-size: 28px;
  }

  /* POLISH-01 + POLISH-03: collage op tablet — 3 polaroids + ticket-card
     in 1 row, baselines uitgelijnd via grid */
  .cr-ev-hero__collage {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, auto);
    align-items: center;
    gap: 20px;
  }

  .cr-ev-hero__ticket-card {
    max-width: 260px;
    width: 100%;
    align-self: center;
    justify-self: end;
  }

  .cr-ev-hero__polaroid {
    max-width: 220px;
  }

  .cr-ev-about__inner {
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
  }

  .cr-ev-about__header-col {
    flex: 1;
  }

  .cr-ev-about__content-col {
    flex: 1.2;
  }

  .cr-ev-practical__chip {
    min-width: 200px;
    flex: 1 1 200px;
  }

  .cr-ev-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
  }

  .cr-ev-footer {
    padding: 100px 56px 40px;
  }
}

/* ------------------------------------------------------------------
   Responsive: desktop (min-width: 1024px)
   ------------------------------------------------------------------ */

@media (min-width: 1024px) {
  .cr-ev-hero__stat-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  /* Reset mobile border adjustments for 4-col layout */
  .cr-ev-hero__stat:nth-child(3) {
    border-top: none;
    border-left: 3px solid var(--crotona-ink);
  }
  .cr-ev-hero__stat:nth-child(4) {
    border-top: none;
  }

  .cr-ev-hero__stat-value {
    font-size: 32px;
  }

  /* POLISH-01: 4-col grid op desktop — 3 polaroids + ticket-card,
     dezelfde gap + align-items als stat-grid voor baseline-uitlijning */
  .cr-ev-hero__collage {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 240px)) minmax(0, 280px);
    justify-content: center;
    align-items: center;
    gap: 24px;
    height: auto;
  }

  .cr-ev-hero__ticket-card {
    position: static;
    width: 100%;
    max-width: 280px;
    transform: rotate(2.5deg);
    align-self: center;
  }

  .cr-ev-hero__polaroid {
    max-width: 240px;
  }
}

/* DETAIL-02 admin-only debug banner - alleen logged-in editors zien dit */
.cr-event-debug {
  background: var(--crotona-bolt, #ffd461);
  color: var(--crotona-ink, #232522);
  border-top: 3px solid var(--crotona-ink, #232522);
  border-bottom: 3px solid var(--crotona-ink, #232522);
  font-family: var(--font-display, "Space Grotesk"), sans-serif;
  font-size: 13px;
  padding: 14px 24px;
}
.cr-event-debug__inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cr-event-debug strong {
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cr-event-debug ul {
  margin: 4px 0 0;
  padding-left: 20px;
}
.cr-event-debug code {
  background: rgba(0,0,0,0.08);
  padding: 1px 5px;
  font-size: 12px;
}
.cr-event-debug a {
  color: var(--crotona-ink, #232522);
  font-weight: 700;
  text-decoration: underline;
}

/* ============================================================
   v2.10.4 Top-banner aankondiging - paste-up sticker bovenaan
   event-page boven hero. Render alleen als event_announcement
   meta gevuld is.
   ============================================================ */
.cr-ev-announcement {
  background: var(--crotona-cream);
  padding: 18px 16px 14px;
  border-bottom: 2px solid var(--crotona-ink);
}

.cr-ev-announcement__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.cr-ev-announcement__tape {
  display: inline-block;
  background: var(--crotona-tomato);
  color: var(--crotona-cream);
  padding: 6px 14px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 2px solid var(--crotona-ink);
  box-shadow: 3px 3px 0 var(--crotona-ink);
  transform: rotate(-1.5deg);
  flex-shrink: 0;
}

.cr-ev-announcement__text {
  margin: 0;
  font-size: clamp(0.95rem, 2vw, 1.05rem);
  font-weight: 600;
  color: var(--crotona-ink);
  line-height: 1.4;
}

@media (prefers-reduced-motion: reduce) {
  .cr-ev-announcement__tape { transform: none; }
}
