/* 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;}
.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;}
.jbz-lc-chip{flex-shrink:0;background:#fff;border-radius:10px;height:72px;min-width:160px;
  display:flex;align-items:center;justify-content:center;padding:12px 22px;box-shadow:0 4px 14px rgba(0,0,0,.14);}
/* real company logos (fix #5) */
.jbz-lc-chip--logo img{max-height:46px;max-width:150px;width:auto;height:auto;object-fit:contain;display:block;}
/* clean styled name fallback when a company has no logo */
.jbz-lc-chip--name span{font-weight:800;font-size:15px;color:#0F2555;white-space:nowrap;}
@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;}
/* FIX B (v1.0.6, 2026-07-24): event flyers are tall text-dense posters — never let one
   render squished/full. Cover-crop to a fixed banner band, anchored near the TOP of the
   flyer (its title/date header reads cleaner than the dense body copy). A bottom scrim
   keeps the seam into the white card body clean. See report: Wyatt to confirm final look
   (blur-backdrop + date badge, or a dedicated clean card image, are the proposed upgrades). */
.jbz-lc-event-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;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;}
.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);}
