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

   Loads LAST on post pages (stylesFoot: undr-base → unleashed → undr-blog →
   this). Two jobs:
   1. Neutralize the generic .prose descendant rules (img borders, link
      underlines) that outgun the component selectors by specificity.
   2. Speak the brand: flat steel buttons (mono 13px/700/.22em, 2px radius,
      violet primary, no outer glows — see .btn in unleashed.css), Clash
      Display quotes, the brand's mono caption voice.
   ========================================================================= */

/* ---- .prose leak resets (its `.prose img/a` rules match inside components) */
.prose .undr-event-card img,
.prose .undr-gallery__item img,
.prose .undr-video video {
  border: 0;
  border-radius: 0;
  width: 100%;
}
.prose .undr-figure img { width: 100%; } /* keeps the brand border/radius — on-brand for figures */
.prose a.undr-event-card__btn,
.prose a.undr-cta__btn,
.prose a.undr-map__link,
.prose a.undr-gallery__item,
.prose a.undr-video__facade,
.prose a.undr-event-card__media {
  text-decoration: none;
}
.prose a.undr-event-card__btn:hover,
.prose a.undr-cta__btn:hover,
.prose a.undr-map__link:hover { color: var(--undr-ink); }
.prose a.undr-cta__btn,
.prose a.undr-event-card__btn--primary { color: var(--ink); }
.prose a.undr-cta__btn:hover,
.prose a.undr-event-card__btn--primary:hover { color: #0c0418; }

/* ---- Buttons: the .btn voice — flat steel, no glows ---- */
.undr-event-card__btn,
.undr-cta__btn,
.undr-map__link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-3) var(--s-6);
  font-size: var(--fs-label, .8125rem);
  font-weight: 700;
  letter-spacing: .22em;
  background: var(--bg-tint);
}
.undr-event-card__btn:hover,
.undr-map__link:hover {
  border-color: var(--violet-hot);
  background: var(--violet-soft);
}
.undr-cta__btn,
.undr-event-card__btn--primary {
  background: var(--violet);
  border-color: var(--violet);
}
.undr-cta__btn:hover,
.undr-event-card__btn--primary:hover {
  background: var(--violet-hot);
  border-color: var(--violet-hot);
}

/* ---- Quote: Clash Display voice, violet rule (border rides the token) ---- */
.undr-quote { background: var(--bg-tint); font-style: normal; }
.undr-quote p { letter-spacing: .01em; }
.undr-quote cite { color: var(--violet-glow); }

/* ---- Captions: the brand's figcaption voice (.prose figcaption) ---- */
.undr-figure figcaption,
.undr-lightbox__caption {
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* ---- Typography/rhythm leak resets inside components: the brand's
       `.prose h3` (mono violet eyebrow) and `.post .prose p` (24px bottom
       margin) outgun the component rules by specificity ---- */
.post .prose .undr-event-card__body > *,
.post .prose .undr-quote p,
.post .prose .undr-cta,
.post .prose .undr-map { margin: 0; }
.post .prose .undr-cta, .post .prose .undr-map { margin: 1.6em 0; }
.post .prose .undr-event-card__name {
  font-family: var(--display);
  font-size: var(--fs-h3);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
  line-height: 1.18;
}

/* Raw [html] blocks carry no brand rhythm (bottom-margin world) — give any
   non-component block child the paragraph beat. */
.post .prose > :where(div, section, table):not([class^="undr-"]) { margin-bottom: var(--s-4); }

/* ---- Contain a trailing floated 9:16 reel (Core covers .undr-prose;
       UNLEASHED bodies use .prose) ---- */
.post .prose::after { content: ''; display: block; clear: both; }
