.layout.new-agenda{
  --gold:#be955b; --gold-d:#a67c44;
  --green:#4caf50; --green-d:#3d8b40;
  --ink:#1a1712; --ink-2:#5c5547; --line:#e7e2d8; --bg:#fff; --card:#fff;
  --producer:#2e7d32; --developer:#4a77a8; --explorer:#7a6aa0; --royalty:#be955b; --other:#7a7368;
  --ppm:3.55;           /* pixels per minute (vertical scale of the grid) */
  --gutter:46px; --colmin:212px; --head:50px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.layout.new-agenda *{box-sizing:border-box}
.layout.new-agenda, .layout.new-agenda{margin:0}
.layout.new-agenda{background:var(--bg);color:var(--ink);font-size:14px;line-height:1.35;-webkit-font-smoothing:antialiased}
.layout.new-agenda a{color:inherit;text-decoration:none}

/* ---------- compact top bar (replaces the old hero) ---------- */
.layout.new-agenda .topbar{
  position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:18px;
  justify-content:space-between;padding:9px 18px;background:#13110d;color:#f3eee4;
  border-bottom:2px solid var(--gold);
}
.layout.new-agenda .brand-name{font-size:16px;font-weight:600;letter-spacing:.2px}
.layout.new-agenda .brand-name b{color:var(--gold);font-weight:800}
.layout.new-agenda .brand-sub{font-size:11.5px;color:#b9b0a0;margin-top:1px}
.layout.new-agenda .search input{
  width:190px;max-width:42vw;padding:6px 12px;border-radius:20px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-size:13px;outline:none}
.layout.new-agenda .search input::placeholder{color:#9a9284}
.layout.new-agenda .search input:focus{border-color:var(--gold)}
.layout.new-agenda .legend{display:flex;gap:12px;font-size:11.5px;color:var(--ink-2)}
.layout.new-agenda .lg{display:flex;align-items:center;gap:5px;white-space:nowrap}
.layout.new-agenda .dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.layout.new-agenda .dot.green{background:var(--green)} .layout.new-agenda .dot.gold{background:var(--gold)}

/* ---------- day bar (tabs + tools) ---------- */
.layout.new-agenda .daybar{position:sticky;top:var(--t1,0);z-index:35;display:flex;align-items:center;gap:14px;padding:8px 14px;
  background:#fff;border-bottom:1px solid var(--line);border-top:2px solid var(--gold)}
.layout.new-agenda .daybar .days{display:flex;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto}
.layout.new-agenda .daybar-tools{display:flex;align-items:center;gap:12px;flex:0 0 auto}
/* printable agenda (PDF) download — right side of the daybar */
.layout.new-agenda .dl-agenda{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;
  font-size:12px;font-weight:700;color:#fff;text-decoration:none;
  padding:6px 12px;border:1px solid var(--gold);border-radius:8px;background:var(--gold)}
.layout.new-agenda .dl-agenda:hover{background:var(--gold-d);border-color:var(--gold-d);color:#fff}
.layout.new-agenda .dl-agenda svg{flex:0 0 auto}

/* time-zone picker */
.layout.new-agenda .tzwrap{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);cursor:pointer}
.layout.new-agenda .tzicon{width:15px;height:15px;flex:0 0 auto}
.layout.new-agenda #tzpick{font-size:12px;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:#fff;
  color:var(--ink);cursor:pointer;outline:none;max-width:190px}
.layout.new-agenda #tzpick:focus{border-color:var(--gold)}
.layout.new-agenda #tzpick.shifted{border-color:var(--gold);background:#fbf5e9;font-weight:600}
.layout.new-agenda .tm .dx{font-size:8px;vertical-align:super;color:var(--gold-d);font-weight:700;margin-left:1px}
.layout.new-agenda .daytab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;line-height:1.1;
  padding:6px 16px;border-radius:10px;border:1px solid transparent;cursor:pointer;color:var(--ink-2)}
.layout.new-agenda .daytab small{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;opacity:.8}
.layout.new-agenda .daytab b{font-size:15px;color:var(--ink)}
.layout.new-agenda .daytab .cnt{font-size:10px;color:var(--ink-2)}
.layout.new-agenda .daytab:hover{background:#f3eee3}
.layout.new-agenda .daytab.active{background:linear-gradient(158deg,#24508f 0%,#0b1f44 100%);border-color:#0b1f44;color:#fff;
  box-shadow:0 2px 8px rgba(13,35,72,.35)}
.layout.new-agenda .daytab.active b, .layout.new-agenda .daytab.active .cnt{color:#fff}
.layout.new-agenda .daytab.active small{color:#9fbef0}

/* ---------- filter bar ---------- */
.layout.new-agenda .filterbar{position:sticky;top:var(--t2,99px);z-index:34;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:7px 14px;background:#fff;border-bottom:1px solid var(--line)}
.layout.new-agenda .fgroup{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.layout.new-agenda .fgroup.right{margin-left:auto}
.layout.new-agenda .flabel{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-2);font-weight:700;margin-right:2px}
.layout.new-agenda .chip{border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  cursor:pointer;user-select:none;white-space:nowrap}

/* primary: company-type filters — colour-coded, prominent, two-line with day stats */
.layout.new-agenda .chip.status{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;
  padding:5px 13px;border-width:1.6px}
.layout.new-agenda .chip.status .clabel{font-size:12.5px;font-weight:700}
.layout.new-agenda .chip.status .cmeta{font-size:9.5px;font-weight:600;opacity:.82;white-space:nowrap}
.layout.new-agenda .chip.status.cat-producer{color:var(--producer);border-color:var(--producer)}
.layout.new-agenda .chip.status.cat-developer{color:var(--developer);border-color:var(--developer)}
.layout.new-agenda .chip.status.cat-explorer{color:var(--explorer);border-color:var(--explorer)}
.layout.new-agenda .chip.status.cat-royalty{color:var(--royalty);border-color:var(--royalty)}
.layout.new-agenda .chip.status.cat-other{color:var(--other);border-color:var(--other)}
.layout.new-agenda .chip.status.cat-special{color:#13110d;border-color:#13110d}
.layout.new-agenda .chip.status:hover{filter:brightness(.97)}
.layout.new-agenda .chip.status.cat-producer.on{background:var(--producer);color:#fff}
.layout.new-agenda .chip.status.cat-developer.on{background:var(--developer);color:#fff}
.layout.new-agenda .chip.status.cat-explorer.on{background:var(--explorer);color:#fff}
.layout.new-agenda .chip.status.cat-royalty.on{background:var(--royalty);color:#fff}
.layout.new-agenda .chip.status.cat-other.on{background:var(--other);color:#fff}
.layout.new-agenda .chip.status.cat-special.on{background:#13110d;color:#fff}

/* secondary: track toggles — small and muted */
.layout.new-agenda .fgroup.tracks{gap:5px}
.layout.new-agenda .chip.stage{font-size:10.5px;padding:3px 9px;color:var(--ink-2)}
.layout.new-agenda .chip.stage:hover{border-color:#cfc7b6}
.layout.new-agenda .chip.stage.on{background:#ece5d6;border-color:#d9cfb8;color:var(--ink)}

.layout.new-agenda .toggle{font-size:11px;color:var(--ink-2);display:flex;align-items:center;gap:5px;cursor:pointer;margin-left:auto}
.layout.new-agenda .toggle input{accent-color:var(--green)}

/* ---------- grid ---------- */
/* ---------- refine bar (Mineral / Country / Exchange facets) ---------- */
.layout.new-agenda .refinebar{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px;align-items:center;
  background:#fff;border-bottom:1px solid var(--line)}
.layout.new-agenda .facet{position:relative}
.layout.new-agenda .facet-btn{font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:14px;border:1px solid var(--line);
  background:#fff;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.layout.new-agenda .facet-btn:hover{border-color:#cfc7b6}
.layout.new-agenda .facet-btn.active{border-color:var(--gold);color:var(--ink);background:#fbf5e9}
.layout.new-agenda .facet-btn[disabled]{opacity:.45;cursor:not-allowed}
.layout.new-agenda .facet-btn .badge{background:var(--gold);color:#fff;border-radius:9px;font-size:10px;font-weight:800;
  padding:0 6px;min-width:16px;text-align:center}
.layout.new-agenda .facet-btn .caret{font-size:9px;opacity:.55}
.layout.new-agenda .facet-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:60;background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.16);padding:6px;min-width:212px;max-height:330px;
  overflow:auto;display:none}
.layout.new-agenda .facet-menu.open{display:block}
.layout.new-agenda .facet-search{width:100%;box-sizing:border-box;margin-bottom:5px;padding:6px 9px;font-size:12px;
  border:1px solid var(--line);border-radius:7px;outline:none}
.layout.new-agenda .facet-search:focus{border-color:var(--gold)}
.layout.new-agenda .facet-opt{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:7px;font-size:12px;
  cursor:pointer;color:var(--ink);background:none;border:0;width:100%;text-align:left;font-family:inherit}
.layout.new-agenda .facet-opt:hover{background:#f5f1e8}
.layout.new-agenda .facet-opt .lbl{flex:1 1 auto}
.layout.new-agenda .facet-opt .cnt{color:var(--ink-2);font-size:10.5px;font-weight:700;background:#f1ece1;border-radius:9px;padding:1px 7px}

.layout.new-agenda .gridwrap{padding:0 0 30px}

/* sticky stage-header row, separate from the scrolling body */
.layout.new-agenda .gridhead{position:sticky;top:var(--stick,132px);z-index:25;display:flex;
  background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 4px rgba(0,0,0,.05)}
.layout.new-agenda .gridhead .gh-gutter{flex:0 0 var(--gutter);background:var(--bg);border-right:1px solid var(--line)}
.layout.new-agenda .colhead{flex:1 1 0;min-width:0;height:var(--head);border-left:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:center;padding:0 12px}
.layout.new-agenda .colhead:first-child{border-left:0}
.layout.new-agenda .colhead .s{font-weight:800;font-size:13.5px}
.layout.new-agenda .colhead .v{font-size:10.5px;color:var(--ink-2)}
/* per-stage header colours (keyed to the real stage number, not column position) */
.layout.new-agenda .colhead.stage-1{background:#43692A}
.layout.new-agenda .colhead.stage-2{background:#2B4166}
.layout.new-agenda .colhead.stage-3{background:#662742}
.layout.new-agenda .colhead.stage-4{background:#6B4F26}
.layout.new-agenda .colhead[class*="stage-"]{color:#fff;border-left:0}
.layout.new-agenda .colhead[class*="stage-"] .v{color:rgba(255,255,255,.72)}

.layout.new-agenda .grid{display:flex}
/* isolate: keep the internal event-line/card z-index stack contained here so it can't
   leak out and paint over the site header while scrolling */
.layout.new-agenda .cols{flex:1 1 auto;display:flex;min-width:0;position:relative;isolation:isolate}
/* columns paint over the event lines but let clicks fall through to them; the cards
   themselves stay interactive so a clickable event line behind a gap still works */
.layout.new-agenda .col{flex:1 1 0;min-width:0;border-left:1px solid var(--line);position:relative;z-index:1;pointer-events:none}
.layout.new-agenda .col:first-child{border-left:0}
.layout.new-agenda .col .card{pointer-events:auto}

/* event items render as a single full-width line at their start time: name + location
   on the left, start–end time on the right. Events sharing a start time stack down by
   --stack rows. Painted behind the columns (grid lines + cards, z-index:1) so a
   presentation is never hidden. */
.layout.new-agenda .eline{--erow:22px;position:absolute;z-index:0;box-sizing:border-box;left:5px;right:5px;
  top:calc((var(--s) - var(--start)) * var(--ppm) * 1px + var(--stack) * (var(--erow) + 2px));
  height:var(--erow);display:flex;align-items:center;gap:10px;justify-content:space-between;
  padding:0 10px;overflow:hidden;border-radius:6px;white-space:nowrap;
  background:#faf6ee;border:1px solid var(--line);border-left:3px solid var(--gold);
  color:var(--ink-2);font-size:11px;line-height:1.4;text-decoration:none}
.layout.new-agenda .eline.sc{border-left-color:var(--explorer)}   /* short courses / ticketed activities */
.layout.new-agenda .eline .el-l{min-width:0;overflow:hidden;text-overflow:ellipsis}
.layout.new-agenda .eline .el-i{color:var(--gold-d);font-size:11px;margin-right:5px}   /* EMS event icon */
.layout.new-agenda .eline.sc .el-i{color:var(--explorer)}
.layout.new-agenda .eline .el-l b{color:var(--ink);font-weight:700}
.layout.new-agenda .eline .el-v{color:var(--ink-2)}
.layout.new-agenda .eline .el-t{flex:0 0 auto;font-weight:700;color:var(--ink)}
.layout.new-agenda .eline .el-more{color:var(--gold-d);font-weight:700}   /* has-description marker */
.layout.new-agenda a.eline.link,
.layout.new-agenda .eline.hasdesc{cursor:pointer}
.layout.new-agenda a.eline.link:hover,
.layout.new-agenda .eline.hasdesc:hover{background:#f5eede;border-color:var(--gold)}

/* time gutter */
/* vertical scale lives here: positions derive from --start/--end (on .gridwrap)
   and per-element --s/--e/--m minute values printed by PHP. */
.layout.new-agenda .gutter{position:relative;flex:0 0 var(--gutter);border-right:1px solid var(--line);background:var(--bg);
  height:calc((var(--end) - var(--start)) * var(--ppm) * 1px)}
.layout.new-agenda .gutter .gtime{position:absolute;right:6px;font-size:10px;color:var(--ink-2);transform:translateY(-50%);white-space:nowrap;
  top:calc((var(--m) - var(--start)) * var(--ppm) * 1px)}
.layout.new-agenda .gutter .gtime.hour{font-weight:700;color:var(--ink)}

.layout.new-agenda .colbody{position:relative;height:calc((var(--end) - var(--start)) * var(--ppm) * 1px)}
.layout.new-agenda .hourline{position:absolute;left:0;right:0;border-top:1px solid var(--line);
  top:calc((var(--m) - var(--start)) * var(--ppm) * 1px)}
.layout.new-agenda .hourline.half{border-top-style:dotted;opacity:.6}

/* ---------- 1×1 meetings (slot-inventory grid) ---------- */
.layout.new-agenda .meetings-intro{max-width:1100px;margin:0 auto;padding:22px 18px 6px}
.layout.new-agenda .meetings-intro h2{font-size:15px;margin:0 0 4px}
.layout.new-agenda .meetings-intro .note{color:var(--ink-2);font-size:12.5px;margin:0}
.layout.new-agenda .colhead.meet{background:#2f3742;color:#fff;border-left:1px solid rgba(255,255,255,.14)}
.layout.new-agenda .colhead.meet:first-child{border-left:0}
.layout.new-agenda .colhead.meet .v{color:rgba(255,255,255,.72)}
.layout.new-agenda .mslot{position:absolute;left:5px;right:5px;
  top:calc((var(--s) - var(--start)) * var(--ppm) * 1px);
  height:calc((var(--e) - var(--s)) * var(--ppm) * 1px - 3px);
  background:#eef2f7;border:1px solid #d3dbe6;border-radius:7px;
  display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;overflow:hidden}
.layout.new-agenda .mslot-n{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#33404f;white-space:nowrap}
.layout.new-agenda .mslot-t{font-size:11px;font-weight:700;color:#33404f;white-space:nowrap}

/* ---------- cards ---------- */
.layout.new-agenda .card{position:absolute;left:5px;right:5px;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--other);border-radius:7px;padding:5px 7px 4px;overflow:hidden;
  display:flex;flex-direction:column;gap:3px;box-shadow:0 1px 1.5px rgba(0,0,0,.04);transition:opacity .15s;
  /* --eshift pushes a card below full-width event line(s) that share its start time
     (24px/row); the height shrinks to match so the card's bottom stays at its end time */
  top:calc((var(--s) - var(--start)) * var(--ppm) * 1px + var(--eshift, 0) * 24px);
  height:calc((var(--e) - var(--s)) * var(--ppm) * 1px - 3px - var(--eshift, 0) * 24px)}
.layout.new-agenda .card.cat-producer{border-left-color:var(--producer)}
.layout.new-agenda .card.cat-developer{border-left-color:var(--developer)}
.layout.new-agenda .card.cat-explorer{border-left-color:var(--explorer)}
.layout.new-agenda .card.cat-royalty{border-left-color:var(--royalty)}
/* whole company card is clickable → stream modal */
.layout.new-agenda .card[data-cat]{cursor:pointer}
.layout.new-agenda .card[data-cat]:hover{box-shadow:0 2px 8px rgba(0,0,0,.12)}
.layout.new-agenda .card .ctop{display:flex;align-items:flex-start;gap:7px}
.layout.new-agenda .card .logo{width:26px;height:26px;border-radius:5px;object-fit:contain;background:#fff;border:1px solid var(--line);flex:0 0 auto}
/* logo-less companies: Font Awesome gear placeholder in the logo box */
.layout.new-agenda .card .logo.logo-ph{display:flex;align-items:center;justify-content:center;color:var(--gold)}
.layout.new-agenda .card .logo.logo-ph i{font-size:13px;line-height:1}
.layout.new-agenda .card .namecol{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.layout.new-agenda .card .nm{font-weight:700;font-size:12.5px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout.new-agenda .card .nm:hover{color:var(--gold-d)}
.layout.new-agenda .card .presenter{font-size:10px;line-height:1.4;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout.new-agenda .card .presenter .pname{font-weight:600;color:var(--ink)}
.layout.new-agenda .card .presenter .ptitle{color:var(--ink-2)}
/* subline: one fixed size for every element, for visual consistency */
.layout.new-agenda .card .meta{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-2);
  flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
.layout.new-agenda .card .meta > *{font-size:10.5px;flex:0 0 auto}  /* never compress the pill — expand to content */
.layout.new-agenda .card .meta .tm{font-weight:700;color:var(--ink)}
.layout.new-agenda .card .pill{font-weight:700;padding:1px 6px;border-radius:9px;color:#fff;letter-spacing:.2px}
.layout.new-agenda .pill.cat-producer{background:var(--producer)} .layout.new-agenda .pill.cat-developer{background:var(--developer)}
.layout.new-agenda .pill.cat-explorer{background:var(--explorer)} .layout.new-agenda .pill.cat-royalty{background:var(--royalty)} .layout.new-agenda .pill.cat-other{background:var(--other)}
.layout.new-agenda .card .min{color:var(--ink-2)}
.layout.new-agenda .card .mcap{font-weight:700;color:var(--ink)}
/* Country flag: SVG served as an <img> data-URI (EMS countries.flag) */
.layout.new-agenda .card .meta .flag{height:12px;width:auto;border-radius:1.5px;
  box-shadow:0 0 0 .5px rgba(0,0,0,.15)}
.layout.new-agenda img.flag{height:1em;width:auto;border-radius:1.5px;vertical-align:-.12em;
  box-shadow:0 0 0 .5px rgba(0,0,0,.15)}

/* quiet circular play icon — colour signals free (green) / purchase (gold) */
.layout.new-agenda .watch{flex:0 0 auto;width:23px;height:23px;border-radius:50%;display:inline-flex;align-items:center;
  justify-content:center;background:#eaf5ea;border:1px solid #bfe0c0;transition:background .15s,border-color .15s}
.layout.new-agenda .watch::before{content:"";width:0;height:0;border-style:solid;border-width:4.5px 0 4.5px 7px;
  border-color:transparent transparent transparent var(--green-d);margin-left:2px}
.layout.new-agenda .watch:hover{background:var(--green);border-color:var(--green)}
.layout.new-agenda .watch:hover::before{border-left-color:#fff}
.layout.new-agenda .watch.paid{background:#f7eed9;border-color:#e6cfa0;border-radius:5px}
.layout.new-agenda .watch.paid::before{border-left-color:var(--gold-d)}
.layout.new-agenda .watch.paid:hover{background:var(--gold);border-color:var(--gold)}
.layout.new-agenda .watch.paid:hover::before{border-left-color:#fff}

/* session-moderator header bar on the first card of each block */
.layout.new-agenda .modpill{position:absolute;left:0;right:0;top:0;font-size:9.5px;font-weight:600;color:#6b6353;
  background:#f3eee2;border-bottom:1px solid var(--line);border-radius:7px 7px 0 0;padding:2px 9px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout.new-agenda .modpill .ml{font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--gold-d)}
.layout.new-agenda .card.hasmod{padding-top:18px}

/* keynote / panel — soft "featured" card, not a dark block */
.layout.new-agenda .card.special{background:linear-gradient(180deg,#fbf5e9,#f6edd9);border:1px solid #ead6ab;
  border-left:3px solid var(--gold)}
.layout.new-agenda .card.special .meta, .layout.new-agenda .card.special .meta .tm{color:var(--ink-2)}
.layout.new-agenda .card.special .kind{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-d);font-weight:800}
.layout.new-agenda .card.special .who{font-size:12px;font-weight:700;color:var(--ink);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.layout.new-agenda .card.dim{opacity:.12;pointer-events:none}

/* ---------- keynote/panel description modal ---------- */
.layout.new-agenda .card.special.hasdesc{cursor:pointer}
.layout.new-agenda .card.special.hasdesc:hover{box-shadow:0 2px 10px rgba(190,149,91,.3)}
.layout.new-agenda .card.special .morehint{font-size:10px;font-weight:700;color:var(--gold-d)}
.layout.new-agenda .smodal{position:fixed;inset:0;z-index:100}
.layout.new-agenda .smodal[hidden]{display:none}
.layout.new-agenda .smodal-back{position:absolute;inset:0;background:rgba(19,17,13,.45);backdrop-filter:blur(2px)}
.layout.new-agenda .smodal-box{position:relative;max-width:680px;margin:6vh auto 0;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--gold);border-radius:14px;box-shadow:0 24px 64px rgba(0,0,0,.35);
  max-height:84vh;display:flex;flex-direction:column;overflow:hidden;width:calc(100% - 32px)}
.layout.new-agenda .smodal-x{position:absolute;top:10px;right:12px;width:30px;height:30px;border:0;border-radius:50%;
  background:#f1ece1;color:var(--ink-2);font-size:17px;line-height:1;cursor:pointer}
.layout.new-agenda .smodal-x:hover{background:#e6dfd0;color:var(--ink)}
.layout.new-agenda .smodal-body{padding:24px 28px 26px;overflow-y:auto;flex:1 1 auto;min-height:0}
.layout.new-agenda .sd-kind{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-d);font-weight:800;margin-bottom:4px}
.layout.new-agenda .sd-title{font-size:18px;font-weight:800;color:var(--ink);line-height:1.25;margin:0 24px 6px 0}
.layout.new-agenda .sd-who{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:14px}
.layout.new-agenda .sd-body p{font-size:13.5px;line-height:1.55;color:var(--ink);margin:0 0 10px}
.layout.new-agenda .sd-body ul{margin:0 0 10px;padding-left:20px}
.layout.new-agenda .sd-body li{font-size:13.5px;line-height:1.5;margin-bottom:5px}
.layout.new-agenda .sd-concludes{margin-top:12px;font-size:13px;font-weight:700;color:var(--gold-d)}
/* "Share a link to this presentation" — copies the webcast permalink */
.layout.new-agenda .sharerow{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.layout.new-agenda .share-label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-2);margin-bottom:6px}
.layout.new-agenda .share-ctl{display:flex;gap:6px}
.layout.new-agenda .share-url{flex:1 1 auto;min-width:0;font-size:12px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fbfaf7;color:var(--ink-2)}
.layout.new-agenda .sharebtn{flex:0 0 auto;font-size:12px;font-weight:800;padding:7px 14px;border:1px solid var(--gold);border-radius:7px;background:#fff;color:var(--gold-d);cursor:pointer;white-space:nowrap}
.layout.new-agenda .sharebtn:hover{background:#fbf5e9}
.layout.new-agenda .sharebtn.ok{background:var(--green);border-color:var(--green);color:#fff}
.layout.new-agenda .sd-watch{display:inline-block;margin-top:8px;font-size:13px;font-weight:800;color:#fff;border-radius:16px;
  padding:7px 16px;background:var(--green);text-decoration:none}
.layout.new-agenda .sd-watch.paid{background:var(--gold)}
.layout.new-agenda .sd-watch:hover{filter:brightness(1.06)}
.layout.new-agenda .sd-link{display:inline-block;margin-top:12px;margin-right:14px;font-size:13px;font-weight:800;color:var(--gold-d);text-decoration:none}
.layout.new-agenda .sd-link:hover{text-decoration:underline}

/* ---------- simple list day (pre-conference) ---------- */
.layout.new-agenda .listday{max-width:760px;margin:0 auto;padding:26px 18px}
.layout.new-agenda .listday h2{font-size:15px;margin:0 0 4px}
.layout.new-agenda .listday p.note{color:var(--ink-2);font-size:12.5px;margin:0 0 18px}
/* Today's Partner Activities — sponsor logos (→ websites) on pre-conf days */
.layout.new-agenda .partneracts{margin:14px 0 22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.layout.new-agenda .partneracts h3{font-size:14px;font-weight:800;color:var(--ink);margin:0 0 12px}
.layout.new-agenda .pa-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.layout.new-agenda .pa-logo{display:flex;align-items:center;justify-content:center;height:82px;padding:12px 16px;
  background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.layout.new-agenda a.pa-logo:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.layout.new-agenda .pa-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.layout.new-agenda .lrow{display:flex;gap:14px;align-items:baseline;padding:10px 12px;background:#fff;border:1px solid var(--line);
  border-radius:8px;margin-bottom:7px}
.layout.new-agenda .lrow .lt{flex:0 0 150px;font-weight:700;font-size:12.5px}
.layout.new-agenda .lrow .lv{color:var(--ink-2);font-size:12.5px}
.layout.new-agenda .lrow .lv b{color:var(--ink);font-weight:600}
.layout.new-agenda .lrow .lvenue{color:var(--ink-2)}
.layout.new-agenda a.lrow.llink{cursor:pointer}
.layout.new-agenda a.lrow.llink:hover, .layout.new-agenda .lrow.hasdesc:hover{border-color:var(--gold);background:#fbf7ee}
/* pre-conf rows with an optional description open the details modal on click */
.layout.new-agenda .lrow.hasdesc{cursor:pointer}
.layout.new-agenda .lrow .lmore{color:var(--gold-d);font-weight:700}

.layout.new-agenda .foot{padding:16px 18px 30px;text-align:center;color:var(--ink-2);font-size:11.5px}

/* ---------- global search modal ---------- */
.layout.new-agenda .msearch{width:100%;box-sizing:border-box;font-size:15px;padding:10px 14px;border:1.5px solid var(--gold);
  border-radius:10px;outline:none;margin-bottom:8px;background:#fff;color:var(--ink)}
.layout.new-agenda .msearch:focus{box-shadow:0 0 0 3px rgba(190,149,91,.18)}
.layout.new-agenda .scount{font-size:11px;color:var(--ink-2);margin-bottom:10px}
.layout.new-agenda .sday{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--gold-d);font-weight:800;margin:14px 0 6px}
.layout.new-agenda .srow{display:flex;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:9px;
  margin-bottom:6px;text-decoration:none;color:var(--ink);background:#fff}
.layout.new-agenda .srow:hover{border-color:var(--gold);background:#fbf7ee}
.layout.new-agenda .srow .logo{width:30px;height:30px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid var(--line);flex:0 0 auto}
.layout.new-agenda .srow .logo.sp-k{background:linear-gradient(180deg,#fbf5e9,#f6edd9);border-color:#ead6ab}
.layout.new-agenda .srow .sr-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.layout.new-agenda .srow .sr-name{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout.new-agenda .srow .sr-sub{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout.new-agenda .smod-head{font-size:11px;font-weight:700;color:var(--gold-d);margin:10px 0 6px;padding:5px 10px;
  background:#fbf5e9;border:1px solid #ead6ab;border-radius:8px}
.layout.new-agenda .srow .sr-meta{flex:0 0 auto;text-align:right;font-size:10.5px;color:var(--ink-2);white-space:nowrap;line-height:1.25}
.layout.new-agenda .srow .sr-meta b{display:block;color:var(--ink);font-size:12px}
.layout.new-agenda .srow .watch{flex:0 0 auto}

/* All Presentations page (full-page variant of the datatable) */
.layout.new-agenda .allpres{max-width:920px;margin:0 auto;padding:22px 18px 44px}
.layout.new-agenda .allpres .stwrap{max-height:none;overflow:visible;border:0;border-radius:0}
.layout.new-agenda .allpres .stbl th{top:var(--stick,132px)}
.layout.new-agenda .allpres .msearch{max-width:520px}

/* structured-filter pills extracted from the table filter box */
.layout.new-agenda .stfchips{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 8px}
.layout.new-agenda .stfchips:empty{display:none}
.layout.new-agenda .fchip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  padding:3px 6px 3px 10px;border-radius:12px;background:#fbf5e9;border:1px solid var(--gold);color:var(--gold-d)}
.layout.new-agenda .fchip button{border:0;background:none;color:inherit;font-size:14px;cursor:pointer;line-height:1;padding:0 2px}
.layout.new-agenda .fchip button:hover{color:var(--ink)}

/* ---------- status chip datatable ---------- */
.layout.new-agenda .stwrap{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.layout.new-agenda .stbl{width:100%;border-collapse:collapse;font-size:12px}
.layout.new-agenda .stbl th{position:sticky;top:0;z-index:2;background:#f7f3ea;text-align:left;font-size:10px;letter-spacing:.5px;
  text-transform:uppercase;color:var(--ink-2);font-weight:800;padding:7px 9px;border-bottom:2px solid var(--line);
  cursor:pointer;user-select:none;white-space:nowrap}
.layout.new-agenda .stbl th:hover{color:var(--ink)}
.layout.new-agenda .stbl th.num, .layout.new-agenda .stbl td.num{text-align:right}
.layout.new-agenda .stbl td{padding:6px 9px;border-bottom:1px solid #f0ebe0;vertical-align:middle}
.layout.new-agenda .stbl tbody tr{cursor:pointer}
.layout.new-agenda .stbl tbody tr:hover{background:#fbf7ee}
.layout.new-agenda .stbl tbody tr:last-child td{border-bottom:0}
/* keep .co a real table cell (so its bottom border stays on the row baseline when the
   name wraps); the flex logo+name layout lives on an inner wrapper */
.layout.new-agenda .stbl td.co{font-weight:700;min-width:170px}
.layout.new-agenda .stbl td.co .coin{display:flex;align-items:center;gap:8px}
.layout.new-agenda .stbl td.co .logo{width:24px;height:24px;border-radius:5px;object-fit:contain;border:1px solid var(--line);background:#fff;flex:0 0 auto}
.layout.new-agenda .stbl td.when{white-space:nowrap;color:var(--ink-2)}
.layout.new-agenda .stbl td.num{font-weight:700;white-space:nowrap}

/* deep-link target flash */
.layout.new-agenda .card.flash{animation:cardflash 2.4s ease-out}
@keyframes cardflash{0%,55%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 1px 1.5px rgba(0,0,0,.04)}}

/* ---------- in-page stream modal ---------- */
.layout.new-agenda .vmodal .vhead{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-right:30px}
.layout.new-agenda .vmodal .vhead .logo{width:42px;height:42px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--line);flex:0 0 auto}
.layout.new-agenda .vmodal .vhead .logo.logo-ph{display:flex;align-items:center;justify-content:center;color:var(--gold)}
.layout.new-agenda .vmodal .vhead .logo.logo-ph i{font-size:18px;line-height:1}
.layout.new-agenda .vmodal .vtitle h3{font-size:17px;font-weight:800;color:var(--ink);line-height:1.2;margin:0}
.layout.new-agenda .vmodal .vspeaker{font-size:12.5px;font-weight:600;color:var(--ink-2);margin-top:2px}
.layout.new-agenda .tvhead{min-height:34px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;background:#fff}
.layout.new-agenda .tvstrip{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:12.5px;font-weight:700;color:var(--ink)}
.layout.new-agenda .tvstrip i{font-style:normal;color:var(--line)}
.layout.new-agenda .vbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.layout.new-agenda .vtabs{display:flex;gap:4px}
.layout.new-agenda .vtab{font-size:12px;font-weight:700;padding:6px 14px;border:1px solid var(--line);border-bottom:0;background:#fff;
  color:var(--ink-2);cursor:pointer;border-radius:9px 9px 0 0;text-decoration:none}
.layout.new-agenda .vtab.on{background:#13110d;color:#fff;border-color:#13110d}
/* Corporate Profile tab is an external link (opens the Denver Gold profile in a new tab) */
.layout.new-agenda a.vtab.vext:hover{color:var(--gold-d);border-color:var(--gold)}
.layout.new-agenda .vctl{display:flex;gap:6px;align-items:center}
.layout.new-agenda .vbtn{font-size:11px;font-weight:800;min-width:30px;height:26px;padding:0 8px;border:1px solid var(--line);
  border-radius:7px;background:#fff;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.layout.new-agenda .vbtn:hover{border-color:var(--gold);color:var(--ink)}
.layout.new-agenda .vbtn.on{background:var(--gold);border-color:var(--gold);color:#fff}
.layout.new-agenda .vwrap{position:relative;aspect-ratio:16/9;background:#13110d;border-radius:10px;overflow:hidden}
.layout.new-agenda .vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.layout.new-agenda .vwrap mux-player{position:absolute;inset:0;width:100%;height:100%}
.layout.new-agenda .vwrap .vempty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:#cfc7b8;font-size:13px;text-align:center;padding:0 24px}

/* stream availability notice + countdown */
.layout.new-agenda .vempty .avail{font-size:13.5px;line-height:1.5;color:#f0ebe0;margin:0 0 6px;max-width:440px}
.layout.new-agenda .vempty .avail b{color:#fff;white-space:nowrap}
.layout.new-agenda .cdown{margin-top:16px}
.layout.new-agenda .cd-title{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);font-weight:800;
  text-align:center;margin-bottom:9px}
.layout.new-agenda .cd-tiles{display:flex;gap:8px;align-items:center;justify-content:center}
.layout.new-agenda .cd{background:rgba(255,255,255,.06);border:1.6px solid var(--gold);border-radius:12px;min-width:76px;
  padding:11px 8px 9px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.layout.new-agenda .cd b{display:block;font-size:30px;font-weight:800;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.layout.new-agenda .cd span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;
  color:#cfc7b8;margin-top:6px}
.layout.new-agenda .cd-sep{font-size:24px;font-weight:800;color:var(--gold);padding-bottom:16px}
.layout.new-agenda .cd-watch{display:block;width:max-content;margin:2px auto 0}
.layout.new-agenda .vfoot{margin-top:10px}
.layout.new-agenda .deckbtn{display:inline-block;font-size:12px;font-weight:700;color:var(--gold-d);border:1px solid var(--gold);
  border-radius:9px;padding:6px 12px;text-decoration:none}
.layout.new-agenda .deckbtn:hover{background:#fbf5e9}
.layout.new-agenda .deckbtn.off{border-color:var(--line);color:var(--ink-2);opacity:.75;cursor:default}
.layout.new-agenda .vsoon{font-size:12.5px;color:var(--ink-2);padding:22px 4px}
.layout.new-agenda .vtranscript{max-height:52vh;overflow:auto;font-size:13px;line-height:1.6;color:var(--ink)}
.layout.new-agenda .vtranscript p{margin:0 0 10px}
.layout.new-agenda .vtranscript em{color:var(--ink-2)}

/* ---------- live now (pulsing dot + current-time line) ---------- */
.layout.new-agenda .livedot{width:8px;height:8px;border-radius:50%;background:#e0342b;display:inline-block;flex:0 0 auto;
  animation:livepulse 1.7s ease-in-out infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(224,52,43,.45)}70%{box-shadow:0 0 0 6px rgba(224,52,43,0)}100%{box-shadow:0 0 0 0 rgba(224,52,43,0)}}
.layout.new-agenda .card.lnow{border-color:#eec6c2}
.layout.new-agenda .grid{position:relative}
.layout.new-agenda .nowline{position:absolute;left:0;right:0;border-top:2px solid #e0342b;z-index:6;pointer-events:none;opacity:.75}
.layout.new-agenda .nowline::before{content:"";position:absolute;left:8px;top:-5px;width:8px;height:8px;border-radius:50%;background:#e0342b}

/* ---------- Explore-the-agenda tab & overview ---------- */
.layout.new-agenda .daytab.explore small{color:var(--gold-d);opacity:1}
.layout.new-agenda .daytab.explore{border:1px dashed var(--gold);border-radius:10px}
.layout.new-agenda .daytab.explore.active{background:linear-gradient(158deg,#a67c44 0%,#6b4f26 100%);border:1px solid #6b4f26;
  box-shadow:0 2px 8px rgba(107,79,38,.35)}
.layout.new-agenda .daytab.explore.active small{color:#f3e3c3}
.layout.new-agenda .xplore{max-width:860px;margin:0 auto;padding:24px 18px 44px}
.layout.new-agenda .xintro{font-size:13.5px;line-height:1.55;color:var(--ink);margin:0 0 24px}
.layout.new-agenda .xsec{margin-bottom:30px}
.layout.new-agenda .xsec h2{font-size:15px;font-weight:800;color:var(--ink);margin:0 0 3px}
.layout.new-agenda .xnote{font-size:12px;color:var(--ink-2);margin:0 0 10px}
.layout.new-agenda .xrow{display:flex;gap:12px;align-items:baseline;padding:8px 12px;background:#fff;border:1px solid var(--line);
  border-radius:9px;margin-bottom:6px}
.layout.new-agenda .xrow .xday{flex:0 0 74px;font-size:11px;font-weight:800;color:var(--gold-d);text-transform:uppercase;letter-spacing:.3px}
.layout.new-agenda .xrow .xtime{flex:0 0 128px;font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}
.layout.new-agenda .xrow .xmain{flex:1 1 auto;min-width:0;font-size:12.5px}
.layout.new-agenda .xrow .xmain b{display:block;font-weight:700}
.layout.new-agenda .xrow .xmain i{display:block;font-style:normal;font-size:11px;color:var(--ink-2)}
.layout.new-agenda .xrow.xlink{text-decoration:none;color:var(--ink);cursor:pointer}
.layout.new-agenda .xrow.xlink:hover, .layout.new-agenda .xrow.hasdesc:hover{border-color:var(--gold);background:#fbf7ee}
.layout.new-agenda .xrow.xlink .xtime, .layout.new-agenda .xrow.hasdesc .xtime{color:var(--gold-d)}
/* event rows with an optional description open the details modal on click */
.layout.new-agenda .xrow.hasdesc{cursor:pointer}
.layout.new-agenda .xrow .xmore{flex:0 0 auto;align-self:center;font-size:11px;font-weight:700;color:var(--gold-d);white-space:nowrap}
/* highlighted callout inside an Explore section */
.layout.new-agenda .xinfo{background:#fbf5e9;border:1px solid #ead6ab;border-left:3px solid var(--gold);border-radius:9px;
  padding:10px 14px;margin:0 0 10px}
.layout.new-agenda .xinfo-row{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:3px 0}
.layout.new-agenda .xinfo-row b{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--gold-d);
  flex:0 0 auto}
.layout.new-agenda .xinfo-row span{font-size:12.5px;font-weight:600;color:var(--ink)}
/* venue callout (blue) — above the dress-code info on the Explore tab */
.layout.new-agenda .venuecard{display:block;margin:0 0 14px;padding:12px 15px;border-radius:9px;text-decoration:none;
  background:#eaf2fb;border:1px solid #cadff2;border-left:3px solid #2b6cb0;transition:background .15s,border-color .15s}
.layout.new-agenda a.venuecard:hover{background:#e0ecf8;border-left-color:#22568c}
.layout.new-agenda .vc-name{display:block;font-size:13.5px;font-weight:800;color:#1f4e79}
.layout.new-agenda .vc-desc{display:block;margin-top:4px;font-size:12.5px;line-height:1.55;color:#33475b;font-weight:500}

/* Explore → Partners: logo tiles linking to each partner's website */
.layout.new-agenda .xpartners{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.layout.new-agenda .xpartner{display:flex;align-items:center;justify-content:center;height:82px;padding:12px 16px;
  background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;
  transition:border-color .15s,box-shadow .15s}
.layout.new-agenda a.xpartner:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.layout.new-agenda .xpartner img{max-width:100%;max-height:100%;object-fit:contain;display:block}

.layout.new-agenda .xtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0 16px}
.layout.new-agenda .xtile{border:1.6px solid var(--other);border-radius:12px;padding:12px 10px;text-align:center;background:#fff}
.layout.new-agenda .xtile b{display:block;font-size:22px;font-weight:800;line-height:1.1}
.layout.new-agenda .xtile span{display:block;font-size:11px;font-weight:700;margin-top:2px}
.layout.new-agenda .xtile i{display:block;font-style:normal;font-size:10.5px;color:var(--ink-2);margin-top:2px}
.layout.new-agenda .xtile.cat-producer{border-color:var(--producer);color:var(--producer)}
.layout.new-agenda .xtile.cat-developer{border-color:var(--developer);color:var(--developer)}
.layout.new-agenda .xtile.cat-explorer{border-color:var(--explorer);color:var(--explorer)}
.layout.new-agenda .xtile.cat-royalty{border-color:var(--royalty);color:var(--gold-d)}
.layout.new-agenda .xtile.cat-other{border-color:var(--other);color:var(--other)}
.layout.new-agenda .xtile i, .layout.new-agenda .xtile span{color:var(--ink-2)}
@media (max-width:640px){
  .layout.new-agenda .xrow{flex-wrap:wrap}
  .layout.new-agenda .xrow .xday{flex-basis:70px}
  .layout.new-agenda .xrow .xtime{flex-basis:auto}
  .layout.new-agenda .xrow .xmain{flex-basis:100%}}

/* ---------- mobile track switcher (one track at a time, JS-driven) ---------- */
.layout.new-agenda .trackbar{display:none;position:sticky;top:var(--stick,132px);z-index:26;gap:6px;padding:8px 12px;
  background:#fff;border-bottom:1px solid var(--line)}
.layout.new-agenda .trackbar.show{display:flex}
.layout.new-agenda .tswitch{flex:1 1 0;min-width:0;font-size:12.5px;font-weight:700;padding:7px 4px;border-radius:9px;
  border:1.5px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.layout.new-agenda .tswitch.on{color:#fff;border-color:transparent}
.layout.new-agenda .tswitch.on.stage-1{background:#43692A}
.layout.new-agenda .tswitch.on.stage-2{background:#2B4166}
.layout.new-agenda .tswitch.on.stage-3{background:#662742}
.layout.new-agenda .tswitch.on.stage-4{background:#6B4F26}

@media (max-width:760px){
  .layout.new-agenda .daybar{flex-wrap:wrap}
  .layout.new-agenda .daybar .days{order:2;flex:1 1 100%}
  .layout.new-agenda .daybar-tools{order:1;width:100%;justify-content:space-between}
  .layout.new-agenda .legend{display:none}
  .layout.new-agenda .search input{width:150px}
  .layout.new-agenda .dl-agenda span{display:none}   /* icon-only to save room */
  .layout.new-agenda{--gutter:38px}
  /* the JS track switcher shows one full-width track; gridhead sticks below it */
  .layout.new-agenda .gridhead{top:var(--stickg,var(--stick,132px))}}
/* ---------- Venue & Weather tab ---------- */
.layout.new-agenda .wxbanner { display:flex; gap:8px; flex-wrap:wrap; align-items:baseline; background:#fbf5e9; border:1px solid #ead6ab; border-left:3px solid var(--gold); border-radius:9px; padding:9px 14px; margin:10px 0 12px; font-size:12.5px; }
.layout.new-agenda .wxbanner b { color:var(--gold-d); font-size:11px; text-transform:uppercase; letter-spacing:.4px; }
.layout.new-agenda .wxbanner span { color:var(--ink-2); font-weight:600; }
/* One column per event day (--wxcols is set inline from the day count). */
.layout.new-agenda .wxrow { display:grid; grid-template-columns:repeat(var(--wxcols, 5), minmax(0, 1fr)); gap:10px; margin-top:10px; }
.layout.new-agenda .wxcard { background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 10px 10px; text-align:center; min-width:0; }
.layout.new-agenda .wxcard .wxd { font-size:10px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; color:var(--gold-d); }
.layout.new-agenda .wxcard .wxdate { font-size:13px; font-weight:800; color:var(--ink); }
.layout.new-agenda .wxcard .wxi { font-size:30px; line-height:1.25; margin:4px 0 2px; }
.layout.new-agenda .wxcard .wxt b { font-size:21px; font-weight:800; color:var(--ink); }
.layout.new-agenda .wxcard .wxt span { font-size:14px; font-weight:700; color:var(--ink-2); margin-left:6px; }
.layout.new-agenda .wxcard .wxc { font-size:10.5px; color:var(--ink-2); margin-top:1px; }
.layout.new-agenda .wxcard .wxs { font-size:11px; font-weight:600; color:var(--ink); margin-top:6px; min-height:2.4em; }
.layout.new-agenda .wxcard .wxp { font-size:10.5px; color:var(--ink-2); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.layout.new-agenda .wxcard .wxest { display:inline-block; font-size:9px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--ink-2); background:#f4f2ee; border-radius:8px; padding:2px 7px; margin-top:6px; }
.layout.new-agenda .wx-outlook .wxcard { background:#fbfaf7; }
.layout.new-agenda .wx-outlook .wxcard .wxi { filter:saturate(.55); opacity:.85; }
.layout.new-agenda .wxcard.wx-today { border-color:var(--gold); box-shadow:0 2px 10px rgba(190,149,91,.18); }
.layout.new-agenda .wxfoot { font-size:11px; color:var(--ink-2); margin-top:10px; line-height:1.55; }
.layout.new-agenda .vh3 { font-size:13.5px; font-weight:800; color:var(--ink); margin:22px 0 8px; }
.layout.new-agenda .vmap { margin:12px 0 10px; }
.layout.new-agenda .vmap a { display:block; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; }
.layout.new-agenda .vmap a:hover { border-color:var(--gold); }
.layout.new-agenda .vmap img { display:block; width:100%; height:auto; }
.layout.new-agenda .vmap figcaption { font-size:10.5px; color:var(--ink-2); margin-top:5px; text-align:center; }
.layout.new-agenda .vtable { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:12px; margin:8px 0 12px; }
.layout.new-agenda .vtable th { background:#faf7f0; text-align:left; font-size:10.5px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--gold-d); padding:8px 12px; border-bottom:1px solid var(--line); }
.layout.new-agenda .vtable td { padding:7px 12px; border-bottom:1px solid #f0ece3; vertical-align:top; line-height:1.5; }
.layout.new-agenda .vtable tr:last-child td { border-bottom:0; }
.layout.new-agenda .vtable td:first-child { font-weight:700; color:var(--ink); width:34%; }
.layout.new-agenda .vtable td:last-child { color:var(--ink-2); }
.layout.new-agenda .vnote { font-size:12px; color:var(--ink-2); line-height:1.6; margin:4px 0 0; }
.layout.new-agenda .venuepage .dl-agenda { display:inline-flex; margin:0 0 6px; }
@media (max-width:760px) {
  .layout.new-agenda .wxrow { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .layout.new-agenda .wxrow.wx-odd .wxcard:last-child { grid-column:span 2; }
  .layout.new-agenda .venuepage .dl-agenda span { display:inline; } }

/* ASTRO: the stream modal's EMS extras (agenda.js loadExtras): summary, key moments, chapters, transcript note. */
#vpane-moments, #vpane-chapters { max-height: min(62vh, 560px); overflow-y: auto; padding: .25rem .1rem 1rem; }
.vbrief { margin: 0 0 1rem; padding: .9rem 1rem; border-left: 4px solid var(--brand, #be955b); background: rgba(0,0,0,.035); border-radius: 0 10px 10px 0; }
.vbrief b { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .35rem; }
.vbrief p { margin: 0; line-height: 1.55; }
.vmoment { display: grid; grid-template-columns: 4.6rem 1fr; gap: .8rem; padding: .8rem 0; border-top: 1px solid rgba(0,0,0,.1); }
.vmoment b { display: block; margin-bottom: .3rem; line-height: 1.35; }
.vmoment q { display: block; margin: 0 0 .35rem; padding-left: .7rem; border-left: 3px solid var(--brand, #be955b); font-style: italic; quotes: "\201C" "\201D"; }
.vmoment p { margin: 0; font-size: .92rem; opacity: .85; }
.vseek { font: inherit; cursor: pointer; background: none; color: inherit; }
.vmoment .vseek { align-self: start; font-weight: 800; font-size: .82rem; font-variant-numeric: tabular-nums; padding: .3rem .45rem; border: 1.5px solid var(--brand, #be955b); border-radius: 8px; }
.vmoment .vseek:hover { background: var(--brand, #be955b); color: #fff; }
.vchapters { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.vchapters .vseek { display: flex; gap: .8rem; align-items: baseline; width: 100%; padding: .5rem .55rem; border: 0; border-radius: 8px; text-align: left; }
.vchapters .vseek:hover { background: rgba(0,0,0,.05); }
.vchapters .vseek span { flex: none; min-width: 3.2rem; font-weight: 800; font-size: .82rem; font-variant-numeric: tabular-nums; color: var(--brand, #be955b); }
.vnote { font-size: .82rem; font-style: italic; opacity: .75; }
.layout.new-agenda .vtab[hidden]{display:none}

/* ASTRO: a keynote's or panel's recording and extras in the details modal (agenda.js loadSpecialExtras). */
.layout.new-agenda .sd-video{margin:0 0 14px;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}
.layout.new-agenda .sd-video mux-player{width:100%;height:100%;display:block}
.layout.new-agenda .sd-extras{margin-top:14px;border-top:1px solid rgba(0,0,0,.1)}
.layout.new-agenda .sd-fold{border-bottom:1px solid rgba(0,0,0,.1)}
.layout.new-agenda .sd-fold summary{cursor:pointer;padding:10px 2px;font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between}
.layout.new-agenda .sd-fold summary::-webkit-details-marker{display:none}
.layout.new-agenda .sd-fold summary::after{content:'›';font-size:18px;line-height:1;transition:transform .15s}
.layout.new-agenda .sd-fold[open] summary::after{transform:rotate(90deg)}
.layout.new-agenda .sd-fold>div{padding:0 2px 12px;max-height:min(52vh,480px);overflow-y:auto}
.layout.new-agenda .sd-sum{margin:0 0 10px;padding:9px 11px;border-left:4px solid var(--brand,#be955b);background:rgba(0,0,0,.035);border-radius:0 8px 8px 0;line-height:1.5}

.layout.new-agenda .sd-link--details{display:inline-block;margin:10px 14px 0 0;font-weight:800}
