/* =========================================================================
   BOUNCE — brand overrides for the shared blog components.

   Loads AFTER undr-blog.css (post.php). undr-blog.css builds the structure
   from the --undr-* token contract (already mapped in bounce.css); this sheet
   only layers on the BOUNCE voice: pills, plum outlines, sticker shadows.
   ========================================================================= */

.undr-post { max-width: 860px; margin-inline: auto; padding: clamp(22px, 4vw, 48px); }
.undr-post__title { font: 900 clamp(2rem, 5.4vw, 3.4rem)/1.04 var(--font-sans); letter-spacing: -.02em; text-wrap: balance; }
.undr-post__hero img { border: var(--line) solid var(--ink); border-radius: 20px; }
.undr-prose { font-size: 1.1rem; line-height: 1.7; }
.undr-prose h2, .undr-prose h3 { font-weight: 900; letter-spacing: -.01em; }
.readnext { margin-top: var(--undr-section-y); }

/* Buttons: event card + CTA + map + share — the .btn voice */
.undr-event-card__btn,
.undr-cta__btn,
.undr-map__link,
.undr-share a,
.undr-share button {
  border: var(--line) solid var(--ink);
  border-radius: var(--r-pill);
  background: var(--paper);
  color: var(--ink);
  box-shadow: var(--shadow-sm);
  font-family: var(--font-sans);
  font-weight: 900;
  letter-spacing: .05em;
  transition: translate var(--undr-t-fast) var(--ease-out), box-shadow var(--undr-t-fast) var(--ease-out), background-color var(--undr-t-fast);
}
.undr-event-card__btn:hover,
.undr-cta__btn:hover,
.undr-map__link:hover,
.undr-share a:hover,
.undr-share button:hover {
  translate: -2px -2px;
  box-shadow: 6px 6px 0 var(--ink);
  background: var(--butter);
  color: var(--ink);
  border-color: var(--ink);
}
.undr-event-card__btn--primary,
.undr-cta__btn { background: var(--bubble); }

.undr-event-card,
.undr-figure img,
.undr-gallery__item,
.undr-video {
  border: var(--line) solid var(--ink);
  border-radius: 20px;
  overflow: hidden;
}
.undr-event-card { background: var(--undr-surface-2); box-shadow: var(--shadow-sm); }
.undr-quote { border-left: 8px solid var(--hot); font-weight: 700; }
.undr-badge { border-radius: var(--r-pill); }

/* ---- first-post polish ---------------------------------------------------- */
.undr-post { padding-top: clamp(26px, 4vw, 40px); }
.undr-post__crumb { font: 500 .74rem/1.4 var(--font-mono); letter-spacing: var(--ls-1); text-transform: uppercase; }
.undr-post__crumb a { color: var(--accent-text); }
.undr-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 10px 0 14px; font: 500 .78rem/1 var(--font-mono); letter-spacing: var(--ls-1); text-transform: uppercase; }
.undr-badge { padding: 6px 12px; border: 2px solid var(--ink); background: var(--butter); color: var(--ink); font: 500 .68rem/1 var(--font-mono); letter-spacing: var(--ls-1); }
.undr-share { gap: 10px; margin-bottom: 26px; }
.undr-post__hero { margin: 0 0 30px; }
.undr-post__hero img { box-shadow: var(--shadow); }
.undr-prose { font-size: 1.12rem; line-height: 1.72; }
.undr-prose h2 { font: 400 clamp(1.7rem, 3.4vw, 2.3rem)/1.05 var(--font-display); letter-spacing: .03em; text-transform: uppercase; color: var(--accent-text); margin: 1.6em 0 .5em; }
.undr-prose h3 { font: 900 1.25rem/1.2 var(--font-sans); margin: 1.4em 0 .4em; }
.undr-prose p + p { margin-top: .9em; }
.undr-prose strong { font-weight: 900; }
.undr-prose a { font-weight: 700; color: var(--accent-text); }
.undr-prose ul, .undr-prose ol { padding-left: 1.3em; margin: .8em 0; }
.undr-prose li + li { margin-top: .35em; }
.undr-quote {
  margin: 1.6em 0; padding: 20px 24px; border-left: 0; border: var(--line) solid var(--ink); border-radius: 22px;
  background: var(--blush); rotate: -.8deg; box-shadow: var(--shadow-sm);
  font: 900 clamp(1.25rem, 2.6vw, 1.6rem)/1.25 var(--font-sans);
}
.undr-quote cite, .undr-quote footer { display: block; margin-top: 8px; font: 500 .72rem/1.3 var(--font-mono); letter-spacing: var(--ls-2); text-transform: uppercase; color: var(--ink-2); font-style: normal; }
.undr-event-card { background: var(--blush); box-shadow: var(--shadow); margin: 1.6em 0; }
.undr-event-card__btn { display: block; text-align: center; }
.undr-map__link { background: var(--cyan); }
.undr-post__cta { text-align: center; margin-top: 34px; }

/* buttons inside the prose keep plum text (the prose link colour is pink) */
.undr-prose .undr-cta__btn, .undr-prose .undr-event-card__btn, .undr-prose .undr-map__link,
.undr-post__cta .btn { color: var(--ink); }
/* pull-quote: the big quotation mark sat on top of the first word */
.undr-quote { padding: 22px 26px 20px 30px; }
.undr-quote::before { content: none; }
/* phones: the share row and the breadcrumb only cost height */
@media (max-width: 640px) {
  .undr-share, .undr-post__crumb { display: none; }
  .undr-post__meta { margin-bottom: 18px; }
}
