/* jbz-live-content-shortcodes v1.0.0 — shortcode styles.
   Author: Generated by Claude on 2026-07-21. Deactivate-safe.
   Rule: NO grey text on dark backgrounds — white (#fff) or brand-yellow (#FDE047). */

/* ---- Countdown ticker (prominent block on dark hero) — fix #2 2026-07-23 ---- */
.jbz-lc-countdown{display:inline-flex;flex-direction:column;gap:14px;align-items:flex-start;
  background:linear-gradient(135deg,rgba(10,26,61,.88),rgba(5,18,43,.88));
  border:1px solid rgba(253,224,71,.5);border-radius:16px;
  padding:18px 22px;box-shadow:0 14px 34px rgba(0,0,0,.42);}
.jbz-lc-cd-head{display:flex;flex-direction:column;gap:5px;}
.jbz-lc-cd-eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#FDE047;line-height:1;}
.jbz-lc-cd-meta{font-size:15px;font-weight:700;color:#fff;line-height:1.25;
  /* v1.4.0 — the countdown band is a fixed strip. Clamp to 2 lines so a long
     venue can never push the timer digits out of the card. min-width:0 lets a
     flex child actually shrink; without it the text sets the column width. */
  min-width:0;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.jbz-lc-cd-clock{display:flex;align-items:flex-start;gap:9px;}
.jbz-lc-cd-unit{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:58px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:9px 8px 7px;}
.jbz-lc-cd-unit>span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:30px;font-weight:800;
  line-height:1;color:#fff;font-variant-numeric:tabular-nums;}
.jbz-lc-cd-unit small{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FDE047;}
.jbz-lc-cd-sep{align-self:center;font-size:24px;font-weight:800;color:rgba(253,224,71,.55);line-height:1;padding-top:4px;}
@media (max-width:560px){
  .jbz-lc-countdown{width:100%;padding:16px;}
  .jbz-lc-cd-clock{gap:6px;width:100%;justify-content:space-between;}
  .jbz-lc-cd-unit{min-width:0;flex:1;}
  .jbz-lc-cd-unit>span{font-size:24px;}
  .jbz-lc-cd-sep{display:none;}
}

/* ---- Empty states (sit on dark) ---- */
.jbz-lc-empty{color:#fff;font-size:15px;opacity:.9;padding:18px 0;text-align:center;}

/* ---- Live jobs grid (white cards, dark text OK on white) ---- */
.jbz-lc-jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;}
.jbz-lc-job{background:#fff;border-radius:14px;border-left:4px solid #C1272D;padding:22px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.28);}
.jbz-lc-job-head h3{font-size:19px;font-weight:800;color:#0F2555;margin:0 0 4px;}
.jbz-lc-job-co{font-size:14px;font-weight:600;color:#475467;}
.jbz-lc-job-loc{display:flex;align-items:center;gap:6px;color:#667085;font-size:13px;}
.jbz-lc-job-tags{display:flex;gap:6px;flex-wrap:wrap;}
.jbz-lc-job-tags span{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:#8B0000;background:#FDECEC;padding:4px 9px;border-radius:6px;}
.jbz-lc-job-apply{margin-top:auto;text-align:center;padding:11px;border-radius:8px;font-weight:700;
  font-size:14px;text-decoration:none;color:#fff;background:#C1272D;}
.jbz-lc-job-apply:hover{background:#a11f24;color:#fff;}

/* ---- Marquee (white chips, dark text OK on white) ---- */
.jbz-lc-marquee{position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.jbz-lc-marquee-track{display:flex;gap:16px;width:max-content;animation-timing-function:linear;animation-iteration-count:infinite;}
/* v1.2.3 — UNIFORM tile. Fixed width+height (not just a min-width floor) so every chip — logo
   or name-fallback — is the identical size; a long company name no longer stretches its chip
   wider than its neighbors. box-sizing:border-box + overflow:hidden keep padding/content inside
   the fixed box. */
.jbz-lc-chip{flex-shrink:0;background:#fff;border-radius:10px;width:168px;height:84px;
  box-sizing:border-box;overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:10px 14px;box-shadow:0 4px 14px rgba(0,0,0,.14);}
/* v1.2.3 — real company logos. width/height:100% + object-fit:contain lets a logo image SCALE
   UP to fill the tile; the old rule (max-height/max-width + width/height:auto) only ever
   shrank an oversized image and never enlarged an undersized one, which is why small source
   logos rendered as tiny postage stamps inside a mostly-empty white square. object-fit:contain
   guarantees the logo is NEVER cropped/zoomed — it always fits fully inside the tile while
   filling as much of it as its own aspect ratio allows. */
.jbz-lc-chip--logo{padding:10px 16px;}
.jbz-lc-chip--logo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;}
/* clean styled name fallback — shown when a company has no logo on file, AND (v1.2.3) swapped
   in client-side via the img onerror handler in render_marquee() when a logo URL 404s/fails to
   load live, so a dead image link can never leave a blank white tile. line-clamp keeps a long
   name from overflowing the now-fixed-size chip. */
.jbz-lc-chip--name span{font-weight:800;font-size:14px;line-height:1.25;color:#0F2555;text-align:center;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
@keyframes jbzmarqNF{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes jbzmarqPL{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.jbz-lc-marquee-track{animation:none;}}

/* ---- Next-3-events cards (white cards) ---- */
.jbz-lc-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.jbz-lc-event{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.3);border-left:4px solid #C1272D;}
.jbz-lc-event-media{position:relative;height:150px;overflow:hidden;background:#0F2555;}
/* v1.2.0 (2026-07-25): card media is now a CLEAN LANDSCAPE VENUE PHOTO (never the flyer —
   see event_card_image_url), so the crop anchor moves from the old flyer-top hack
   (object-position:50% 12%, tuned to salvage a poster header) back to CENTER, which is
   correct for a photo. Superseded FIX B (v1.0.6) — flyers are no longer card thumbnails at
   all; they render full-size on the single event detail page via [jbz_event_flyer]. */
.jbz-lc-event-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;}
.jbz-lc-event-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,37,85,0) 58%,rgba(15,37,85,.42) 100%);}
.jbz-lc-event-badge{position:absolute;top:10px;left:10px;z-index:2;background:#C1272D;color:#fff;border-radius:9px;
  padding:6px 10px;font-weight:800;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.4);}
.jbz-lc-event-body{padding:16px;}
.jbz-lc-event-body h3{font-size:16px;font-weight:800;color:#0F2555;margin:0 0 8px;line-height:1.25;}
.jbz-lc-event-date{font-size:13px;color:#475467;margin-bottom:4px;}
.jbz-lc-event-loc{font-size:13px;color:#667085;min-width:0;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------------------------------------------------------------------------
   v1.4.0 (2026-08-11) — VENUE + ADDRESS BLOCK.
   Replaces the single run-on "label, <address blob>" line. Venue reads as the
   heading, address sits under it, access notes last. Each part is clamped so a
   long value can never change a card's height or push a grid column wider:
   every card in a row stays the same height regardless of how much text Janet
   put in the address field. The full text is preserved in the title attribute.
   --------------------------------------------------------------------------- */
.jbz-lc-loc{display:flex;flex-direction:column;gap:2px;min-width:0;}
.jbz-lc-loc-venue,
.jbz-lc-loc-addr,
.jbz-lc-loc-note{min-width:0;overflow-wrap:anywhere;}
.jbz-lc-loc-venue{font-size:13px;font-weight:700;color:#344054;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.jbz-lc-loc-addr{font-size:12.5px;color:#667085;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.jbz-lc-loc-note{font-size:11.5px;color:#98A2B3;line-height:1.3;font-style:italic;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}

/* Inline variant (dark header bands): inherits the band's colour scheme. */
.jbz-lc-loc--inline{gap:1px;}
.jbz-lc-loc--inline .jbz-lc-loc-venue{font-size:15px;color:inherit;}
.jbz-lc-loc--inline .jbz-lc-loc-addr{font-size:14px;color:inherit;opacity:.85;}
.jbz-lc-loc--inline .jbz-lc-loc-note{color:inherit;opacity:.7;}

/* Narrow screens: give the address a third line rather than truncating early —
   there is more vertical room and less horizontal room on a phone. */
@media (max-width:600px){
  .jbz-lc-loc-addr{-webkit-line-clamp:3;}
  .jbz-lc-cd-meta{-webkit-line-clamp:3;font-size:14px;}
}
.jbz-lc-event-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;text-decoration:none;color:#C1272D;}
.jbz-lc-event-link:hover{color:#8B0000;}
.jbz-lc-marquee-track{gap:16px;}
.jbz-lc-event-media--nophoto{height:150px;background:linear-gradient(135deg,#0F2555,#C1272D);}

/* ---- All-events / Schedule v2 page (v1.0.7) ---- */
.jbz-lc-pastwrap{margin-top:52px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14);}
.jbz-lc-past-title{font-family:'Libre Baskerville',Georgia,serif;font-size:20px;font-weight:700;
  color:#fff;opacity:.78;margin:0 0 20px;letter-spacing:.01em;}
/* muted, de-saturated cards for the past strip — same markup, dimmed presentation */
.jbz-lc-events--past{opacity:.6;filter:saturate(.72);}
.jbz-lc-events--past .jbz-lc-event{box-shadow:0 4px 14px rgba(0,0,0,.2);}

/* ---- v1.2.0: "See Full Schedule" button under an events strip ---- */
.jbz-lc-events-more{margin-top:22px;text-align:center;}
.jbz-lc-more-btn{display:inline-block;background:#C1272D;color:#fff;text-decoration:none;
  font-weight:800;font-size:15px;letter-spacing:.01em;padding:13px 26px;border-radius:10px;
  box-shadow:0 8px 20px rgba(193,39,45,.32);transition:background .15s ease,transform .15s ease;}
.jbz-lc-more-btn:hover,.jbz-lc-more-btn:focus{background:#8B0000;color:#fff;transform:translateY(-1px);}

/* ---- v1.2.0: FULL-SIZE event flyer — single event detail page ONLY ---- */
.jbz-lc-flyer{margin:26px auto 8px;max-width:760px;text-align:center;}
.jbz-lc-flyer img{display:block;width:100%;height:auto;border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.22);}

/* ══════════════════════════════════════════════════════════════════════════
   v1.2.1 — SINGLE EVENT DETAIL BODY (.jbz-lc-event-single)
   Rendered into the (empty) content of /acfpt_event/<slug>/ pages. Matches the
   v2 palette: navy #0F2555 → #0A1A3D header band, red #C1272D CTA, white cards.
   ══════════════════════════════════════════════════════════════════════════ */
.jbz-lc-event-single{max-width:1120px;margin:0 auto 40px;font-family:inherit;}
.jbz-lc-es-head{background:linear-gradient(135deg,#0A1A3D,#0F2555);border-radius:16px;
  padding:34px 30px 30px;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.jbz-lc-es-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#FDE047;margin-bottom:10px;}
.jbz-lc-es-title{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(24px,3.4vw,38px);
  font-weight:700;line-height:1.18;color:#fff;margin:0 0 14px;}
.jbz-lc-es-when{font-size:17px;font-weight:800;color:#FDE047;margin-bottom:4px;}
.jbz-lc-es-where{font-size:15px;color:#fff;opacity:.92;}
.jbz-lc-es-cta{margin-top:20px;}
.jbz-lc-reg-btn{display:inline-block;background:#C1272D;color:#fff;text-decoration:none;font-weight:800;
  font-size:16px;padding:15px 30px;border-radius:10px;box-shadow:0 8px 20px rgba(193,39,45,.36);
  transition:background .15s ease,transform .15s ease;}
.jbz-lc-reg-btn:hover,.jbz-lc-reg-btn:focus{background:#8B0000;color:#fff;transform:translateY(-1px);}
.jbz-lc-es-reghint{margin:10px 0 0;font-size:13px;color:#fff;opacity:.85;}
.jbz-lc-es-reghint a{color:#FDE047;text-decoration:underline;}
.jbz-lc-es-reg--closed{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);
  border-radius:10px;padding:14px 18px;font-weight:700;color:#fff;}
.jbz-lc-es-reg--closed a{color:#FDE047;}

.jbz-lc-es-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:26px;margin-top:26px;align-items:start;}
@media (max-width:820px){.jbz-lc-es-grid{grid-template-columns:1fr;}}
.jbz-lc-es-main h2,.jbz-lc-es-side h2,.jbz-lc-es-companies h2{font-family:'Libre Baskerville',Georgia,serif;
  font-size:19px;font-weight:700;color:#0F2555;margin:0 0 12px;}
.jbz-lc-es-desc,.jbz-lc-es-flyer,.jbz-lc-es-facts{background:#fff;border-radius:14px;padding:22px 24px;
  box-shadow:0 6px 20px rgba(0,0,0,.12);border-left:4px solid #C1272D;margin-bottom:22px;}
.jbz-lc-es-desc p{color:#334155;font-size:15px;line-height:1.65;margin:0 0 10px;}
.jbz-lc-es-flyer .jbz-lc-flyer{margin:0 auto;}
.jbz-lc-es-facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;}
.jbz-lc-es-facts dt{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#C1272D;padding-top:2px;}
.jbz-lc-es-facts dd{margin:0;font-size:15px;color:#0F2555;line-height:1.5;}
.jbz-lc-es-dir{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:#C1272D;text-decoration:none;}
.jbz-lc-es-dir:hover{color:#8B0000;}
.jbz-lc-es-map{border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.12);background:#e5e7eb;}
.jbz-lc-es-map iframe{display:block;width:100%;border:0;}

.jbz-lc-es-companies{margin-top:8px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 20px rgba(0,0,0,.12);}
.jbz-lc-es-count{color:#667085;font-weight:400;font-size:15px;}
.jbz-lc-es-cogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;}
.jbz-lc-es-co{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:118px;padding:14px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;
  text-decoration:none;transition:box-shadow .15s ease,transform .15s ease;}
a.jbz-lc-es-co:hover{box-shadow:0 8px 20px rgba(15,37,85,.16);transform:translateY(-2px);}
.jbz-lc-es-colog{display:flex;align-items:center;justify-content:center;height:48px;width:100%;}
/* v1.2.3 — same upscale fix as the marquee chips: width/height:100% + object-fit:contain lets a
   small source logo fill the tile instead of rendering at its tiny natural size; never crops. */
.jbz-lc-es-colog img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;}
.jbz-lc-es-coname{font-size:13px;font-weight:700;color:#0F2555;text-align:center;line-height:1.3;}
.jbz-lc-event-single .jbz-lc-events-more{margin-top:26px;}

/* ---------------------------------------------------------------------------
   v1.5.0 (2026-08-12) — "HAPPENING NOW" STATES.
   Until v1.5.0 a fair became "past" the moment it STARTED, so there was no such
   thing as a live state to style. Now the countdown band and the matching
   schedule card both say, unmistakably, that the fair is running right now —
   which is the one moment the page has the most visitors and the least excuse
   to be pointing at a date five weeks out.
   Colour note: brand yellow (#FDE047) on the dark band, brand red (#C1272D) on
   the light card — no grey text anywhere (CRUCiBLE dark-background standard).
--------------------------------------------------------------------------- */
.jbz-lc-countdown--live{border-color:rgba(253,224,71,.55);
  box-shadow:0 0 0 1px rgba(253,224,71,.25),0 10px 30px rgba(0,0,0,.35);}
.jbz-lc-countdown--live .jbz-lc-cd-eyebrow{color:#FDE047;
  display:inline-flex;align-items:center;gap:7px;}
.jbz-lc-countdown--live .jbz-lc-cd-eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;
  background:#FDE047;box-shadow:0 0 0 0 rgba(253,224,71,.7);animation:jbzLcPulse 1.8s ease-out infinite;}
.jbz-lc-cd-note{display:block;margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#FDE047;line-height:1;}
@keyframes jbzLcPulse{
  0%  {box-shadow:0 0 0 0 rgba(253,224,71,.7);}
  70% {box-shadow:0 0 0 9px rgba(253,224,71,0);}
  100%{box-shadow:0 0 0 0 rgba(253,224,71,0);}
}
/* Card pill — sits opposite the red date badge so the two never collide. */
.jbz-lc-event-live{position:absolute;top:10px;right:10px;z-index:2;background:#C1272D;color:#fff;
  border-radius:999px;padding:5px 11px;font-weight:800;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.4);
  display:inline-flex;align-items:center;gap:6px;}
.jbz-lc-event-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;
  animation:jbzLcBlink 1.4s steps(1,end) infinite;}
@keyframes jbzLcBlink{0%,49%{opacity:1;}50%,100%{opacity:.25;}}
.jbz-lc-event--live{outline:2px solid #C1272D;outline-offset:0;}
/* Respect reduced-motion: keep the states, drop the animation. */
@media (prefers-reduced-motion: reduce){
  .jbz-lc-countdown--live .jbz-lc-cd-eyebrow::before,
  .jbz-lc-event-live::before{animation:none;}
}
/* Live timer reached doors-closing before the page was re-rendered: retire the
   digits rather than leaving a dead 00:00:00 under "Doors close in". */
.jbz-lc-countdown[data-state="ended"] .jbz-lc-cd-clock,
.jbz-lc-countdown[data-state="ended"] .jbz-lc-cd-note{display:none;}

/* ---------------------------------------------------------------------------
   v1.6.0 (2026-08-31) — ANNOUNCED NEXT-YEAR SCHEDULE ([jbz_announced_schedule]).
   Sits BELOW the live all-events grid on /schedule/. Cards reuse .jbz-lc-event
   wholesale so 2027 looks like 2026; only the wrapper, the toggle and the TBD
   badge are new. The toggle is a native <details>/<summary>, so it opens with
   zero JavaScript — nothing here depends on jbz-live-content.js loading.
   Colour note: no grey text on the dark band (CRUCiBLE dark-background rule) —
   headings #fff, kicker/footnote brand yellow #FDE047.
   --------------------------------------------------------------------------- */
.jbz-lc-announced{margin-top:52px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14);}
.jbz-lc-announced-head{margin:0 0 22px;}
.jbz-lc-announced-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:#FDE047;margin-bottom:6px;}
.jbz-lc-announced-title{font-family:'Libre Baskerville',Georgia,serif;font-size:24px;font-weight:700;
  color:#fff;margin:0 0 8px;letter-spacing:.01em;}
.jbz-lc-announced-sub{font-size:15px;line-height:1.55;color:#fff;opacity:.88;margin:0;max-width:720px;}

/* The toggle: styled as the same red pill as .jbz-lc-more-btn, centred like
   .jbz-lc-events-more, with the default disclosure triangle removed on both
   the standards marker and the WebKit pseudo-element. */
.jbz-lc-announced-details{margin-top:22px;}
.jbz-lc-announced-toggle{display:inline-block;cursor:pointer;list-style:none;border:0;
  -webkit-user-select:none;user-select:none;}
.jbz-lc-announced-toggle::-webkit-details-marker{display:none;}
.jbz-lc-announced-toggle::marker{content:"";}
.jbz-lc-announced-details > summary{margin:0 auto;display:block;width:-moz-fit-content;width:fit-content;}
.jbz-lc-announced-toggle:focus-visible{outline:3px solid #FDE047;outline-offset:3px;}
/* Swap the label with the open state — one button, two truthful labels. */
.jbz-lc-announced-opened{display:none;}
.jbz-lc-announced-details[open] .jbz-lc-announced-closed{display:none;}
.jbz-lc-announced-details[open] .jbz-lc-announced-opened{display:inline;}
.jbz-lc-announced-full{margin-top:26px;}
/* The preview strip is the first few fairs; the open list is all of them. Showing both
   would print those fairs twice, so the preview steps aside once the list is open.
   Progressive enhancement: a browser without :has() just keeps the strip visible —
   redundant, never broken, and the full list is still correct and complete. */
.jbz-lc-announced:has(.jbz-lc-announced-details[open]) .jbz-lc-events--announced-preview{display:none;}
.jbz-lc-announced-foot{margin:20px 0 0;text-align:center;font-size:13px;font-weight:700;
  letter-spacing:.04em;color:#FDE047;}

/* Announced cards: same card, no register link, so the body needs its own
   bottom breathing room where the link used to sit. */
.jbz-lc-event--announced .jbz-lc-event-body{padding-bottom:18px;}
/* TBD badge — deliberately NOT the red date badge, so a visitor scanning badges
   can never mistake "TBD" for a confirmed date. */
.jbz-lc-event-badge--tbd{background:#0F2555;color:#FDE047;border:1px solid rgba(253,224,71,.55);}
.jbz-lc-event--tbd{border-left-color:#FDE047;}
/* The Andrews base-entry requirement is not a footnote — it decides whether
   someone gets through the gate — so it is readable, not dimmed to a whisper. */
.jbz-lc-loc-note--access{font-size:12px;color:#475467;font-style:normal;
  -webkit-line-clamp:4;}

@media (max-width:600px){
  .jbz-lc-announced-title{font-size:21px;}
  .jbz-lc-announced-sub{font-size:14px;}
}
