/* VideoVault: facts_table module (loaded only when it renders; tokens and shared parts are in base.css). */
/* ---- Facts table ---- */
.vvault-front .vvault-facts{border:1px solid var(--vv-line);border-radius:.5rem;padding:1rem 1rem;background:var(--vv-soft);margin:1.5rem 0 0}
.vvault-front .vvault-facts h2{margin:0 0 .5rem}
.vvault-front .vvault-facts table{width:100%;border-collapse:collapse;margin:0;border:0}
.vvault-front .vvault-facts th,.vvault-front .vvault-facts td{text-align:left;vertical-align:top;padding:.5rem 0;border:0;border-top:1px solid var(--vv-line);font-size:max(.875rem,.95em);background:none}
.vvault-front .vvault-facts tr:first-child>*{border-top:0}
.vvault-front .vvault-facts th{font-weight:400;color:var(--vv-muted);width:45%;padding-right:.75rem}
.vvault-front .vvault-facts td{font-weight:600;overflow-wrap:anywhere}
.vvault-front .vvault-asof{font-size:max(.875rem,.8em);color:var(--vv-muted);margin:.5rem 0 0}
/* ---- Fallback page (VideoPage, inside the theme's own content) ---- */
.vvault-front .vvault-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(12em,1fr));gap:.75rem 1.5rem;margin:0}
.vvault-front .vvault-facts dt{font-size:max(.875rem,.85em);color:var(--vv-muted)}
.vvault-front .vvault-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.vvault-front .vvault-cols--aside-first .vvault-facts{margin-top:0}
.vvault-front .vvault-module--editorial:is(.vvault-facts),.vvault-front .vvault-module--clean:is(.vvault-facts),.vvault-front .vvault-module--cinema:is(.vvault-facts){padding:var(--vv-pad);border:1px solid var(--vv-card-line);border-radius:var(--vv-radius);background:var(--vv-paper)}
/* VV-006 Facts table: framed rows, label column on a soft panel. */
.vvault-front .vvault-facts h2.vvault-kicker{margin-bottom:1rem}
.vvault-front .vvault-facts table{border:1px solid var(--vv-card-line);border-radius:calc(var(--vv-radius) - 2px);border-collapse:separate;border-spacing:0;overflow:hidden}
.vvault-front .vvault-facts th,.vvault-front .vvault-facts td{padding:1rem 1rem;border-top:1px solid var(--vv-card-line);font-size:1.05em;line-height:1.35;vertical-align:middle}
.vvault-front .vvault-facts th{width:40%;background:var(--vv-panel);color:inherit;font-weight:400}
.vvault-front .vvault-facts td{font-weight:400}
.vvault-front .vvault-facts .vvault-asof{margin:1rem 0 0;font-family:var(--vv-font-ui);font-size:.875rem}
.vvault-front .vvault-module--compact.vvault-facts{background:transparent;border:0;padding:0}
/* VV-006 facts: title, icons, larger serif values, source footer. */
.vvault-front .vvault-facts .vvault-mod-title{margin:-.25rem 0 .5rem}
.vvault-front .vvault-facts .vvault-dek{margin:0 0 1rem;font-family:var(--vv-font-ui);font-size:.98rem}
/* The fact icon centres on the label's cap height, as every inline icon does (R31). */
.vvault-front .vvault-facts th .vvault-ico{--vv-ico-size:1.2em;display:inline-block;width:var(--vv-ico-size);height:var(--vv-ico-size);vertical-align:calc((.7em - var(--vv-ico-size)) / 2);vertical-align:calc((1cap - var(--vv-ico-size)) / 2);margin-right:.75rem}
.vvault-front .vvault-facts th{font-family:var(--vv-font-display);font-size:1.12em}
.vvault-front .vvault-facts td{font-family:var(--vv-font-display);font-size:1.2em}
.vvault-front .vvault-source{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem 1rem;margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--vv-card-line)}
.vvault-front .vvault-source p{margin:0}
.vvault-front .vvault-source__kicker{font-family:var(--vv-font-ui);font-size:.875rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500}
.vvault-front .vvault-source__name{font-weight:600;font-size:1.05rem;line-height:1.3}
.vvault-front .vvault-source__name a{text-decoration:none}
.vvault-front .vvault-source__name a:hover{text-decoration:underline}
.vvault-front .vvault-source__bits{font-family:var(--vv-font-ui);font-size:.875rem;color:var(--vv-muted)}
@container vv (max-width:540px){.vvault-front .vvault-source{grid-template-columns:auto minmax(0,1fr)}.vvault-front .vvault-source>.vvault-btn{grid-column:1/-1;width:100%}}
.vvault-front .vvault-facts .vvault-dek{font-size:1.05rem}
@container vv (max-width:560px){.vvault-front .vvault-facts th,.vvault-front .vvault-facts td{padding:.75rem .75rem;font-size:1.02em}.vvault-front .vvault-facts th{width:48%}.vvault-front .vvault-facts th .vvault-ico{margin-right:.5rem}}
.vvault-front .vvault-module--clean :is(.vvault-kicker,h2.vvault-kicker){gap:0;margin:0 0 .5rem;font-size:.875rem;font-weight:600;letter-spacing:.09em;color:var(--vv-strong)}
/* VV-006 facts table with a side image: picture left, rows right; label column on a soft panel. */
.vvault-front .vvault-module--clean.vvault-facts th,.vvault-front .vvault-module--clean.vvault-facts td{padding:.5rem .75rem;font-family:var(--vv-font-ui);font-size:.92rem}
.vvault-front .vvault-module--clean.vvault-facts th{width:42%;font-weight:500}
.vvault-front .vvault-module--clean.vvault-facts th .vvault-ico{width:1.1em;height:1.1em;margin-right:.5rem}
.vvault-front .vvault-module--clean.vvault-facts table{border-radius:calc(var(--vv-radius) - 2px)}
.vvault-front .vvault-module--clean.vvault-facts .vvault-mod-title{margin:0 0 .25rem}
.vvault-front .vvault-module--clean.vvault-facts .vvault-dek{margin:0 0 1rem;font-size:.9rem}
.vvault-front .vvault-facts__body{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:var(--vv-gap,1.25rem);align-items:start}
.vvault-front .vvault-facts__media{aspect-ratio:4/3}
.vvault-front .vvault-module--clean .vvault-source{margin:1rem 0 0;padding-top:1rem}
@container vv (max-width:560px){.vvault-front .vvault-facts__body{grid-template-columns:minmax(0,1fr)}.vvault-front .vvault-facts__media{aspect-ratio:16/9}}
.vvault-front .vvault-module.vvault-module--cinema{background:var(--vv-paper);padding:var(--vv-pad);border:0;border-radius:var(--vv-radius)}
.vvault-front .vvault-module--cinema .vvault-facts th{background:var(--vv-panel)}
.vvault-front .vvault-module.vvault-module--compact{padding:0;border:0;border-top:2px solid currentColor;padding-top:.75rem;background:transparent;border-radius:0}
.vvault-front .vvault-module--compact :is(.vvault-kicker,h2.vvault-kicker){margin:0 0 .25rem;font-size:.875rem;font-weight:700;letter-spacing:.08em}
.vvault-front .vvault-module--compact .vvault-dek{font-size:.875rem;margin:0 0 .5rem}
.vvault-front .vvault-module--compact.vvault-facts :is(th,td){padding:.25rem .5rem;font-family:var(--vv-font-ui);font-size:.875rem}
.vvault-front .vvault-module--compact.vvault-facts table{border:0}
.vvault-front :is(.vvault-facts__body){align-items:center}
/* VV-006 facts with a picture: the picture sits beside the title and intro, the table runs full width. */
.vvault-front .vvault-facts--media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(34%,var(--vv-pic-lead)));column-gap:var(--vv-s5);align-items:center}
.vvault-front .vvault-facts--media>*{grid-column:1}
.vvault-front .vvault-facts--media>.vvault-facts__body{display:contents}
.vvault-front .vvault-facts--media .vvault-facts__main{grid-column:1/-1;margin-top:var(--vv-s4)}
.vvault-front .vvault-facts--media .vvault-facts__media{grid-column:2;grid-row:1/span 3;aspect-ratio:16/9;align-self:center}
.vvault-front .vvault-facts--media>.vvault-source{grid-column:1/-1}
@container vv (max-width:480px){.vvault-front .vvault-facts--media{grid-template-columns:minmax(0,1fr)}.vvault-front .vvault-facts--media>*{grid-column:1/-1}.vvault-front .vvault-facts--media .vvault-facts__media{grid-column:1/-1;grid-row:auto;order:-1;margin:0 0 var(--vv-s3)}}
/* Hero video and key facts. */
.vvault-front .vvault-evfacts{display:flex;flex-direction:column;gap:var(--vv-s3)}
.vvault-front .vvault-evfacts__hero .vvault-embed{border-radius:var(--vv-radius-sm)}
.vvault-front .vvault-evfacts__hero .vvault-embed__cap{left:auto;right:0;width:auto;padding:var(--vv-s4) var(--vv-s3) var(--vv-s2) var(--vv-s6);background:linear-gradient(90deg,transparent,rgba(0,0,0,.55) 35%);color:#fff;font-size:.875rem;text-align:right}
.vvault-front .vvault-evfacts__panel{padding:var(--vv-s2) var(--vv-s5);border:1px solid var(--vv-card-line);border-radius:var(--vv-radius-sm);background:var(--vv-panel)}
.vvault-front .vvault-evfacts__table{width:100%;margin:0;border-collapse:collapse;font-size:.9rem}
.vvault-front .vvault-evfacts__table :is(th,td){padding:var(--vv-s2) 0;border:0;border-top:1px solid var(--vv-card-line);background:transparent;text-align:left;vertical-align:middle;font-weight:400}
.vvault-front .vvault-evfacts__table tr:first-child>*{border-top:0}
.vvault-front .vvault-evfacts__table th{position:relative;width:48%;padding-right:var(--vv-s4);padding-left:2.5rem}
/* Both cells trim to cap height and sit at the top, so the icon centres on the label's first line even when it wraps (R31). */
.vvault-front .vvault-evfacts__table :is(th,td){vertical-align:top;padding-block:var(--vv-s3);text-box:trim-both cap alphabetic}
.vvault-front .vvault-evfacts__table th .vvault-ico{position:absolute;left:0;top:calc(var(--vv-s3) + .35em);top:calc(var(--vv-s3) + .5cap);width:1.25rem;height:1.25rem;margin:0;transform:translateY(-50%);color:var(--vv-strong)}
@container vvev (min-width:761px){.vvault-front .vvault-evfacts__panel>.vvault-acc__sum{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vvault-front .vvault-evfacts__panel>.vvault-acc__sum>:not(.vvault-acc__title){display:none}}
@container vvev (max-width:760px){.vvault-front .vvault-evpage__aside .vvault-evfacts{display:contents}.vvault-front .vvault-evfacts__hero{order:2}.vvault-front .vvault-evfacts__panel{order:4}.vvault-front .vvault-evpage .vvault-evfacts__panel{display:block;padding:0;border:0;border-bottom:1px solid var(--vv-card-line);border-radius:0;background:transparent}.vvault-front .vvault-evpage .vvault-evfacts__panel{border-top:1px solid var(--vv-card-line)}.vvault-front .vvault-evpage .vvault-module--cinema .vvault-evfacts__panel{padding:0 var(--vv-s4);border:0;border-radius:var(--vv-radius-sm);background:var(--vv-paper)}}
/* On phones the facts module dissolves (display:contents), so in Cinema the panel brings its own dark fill for its light text (R30). */
/* The event page's own picture: the board's 4:3, cropped around the focal point (the img's object-position). */
.vvault-front .vvault-evfacts__photo{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:var(--vv-radius-sm);background:var(--vv-panel)}
.vvault-front .vvault-evfacts__photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
@container vvev (max-width:760px){.vvault-front .vvault-evfacts__photo{order:2}}
.vvault-front .vvault-module.vvault-module--editorial:is(.vvault-vfacts){margin:0;padding:0;border:0;border-radius:0;background:transparent}
/* Video page v2: label and value rows under a rule, then "As recorded in the library". */
.vvault-front .vvault-vfacts table{width:100%;margin:0;border-collapse:collapse;border:0;font-family:var(--vv-font-ui);font-size:.9375rem;line-height:1.4}
.vvault-front .vvault-vfacts :is(th,td){padding:var(--vv-s3) 0;border:0;border-top:1px solid var(--vv-vp-line,var(--vv-line));text-align:left;vertical-align:top;background:none}
.vvault-front .vvault-vfacts tr:last-child>*{border-bottom:1px solid var(--vv-vp-line,var(--vv-line))}
.vvault-front .vvault-vfacts th{width:42%;padding-right:var(--vv-s3);font-weight:400;color:var(--vv-muted)}
.vvault-front .vvault-vfacts td{font-weight:400}
.vvault-front .vvault-vfacts__note{margin:var(--vv-s3) 0 0;font-family:var(--vv-font-ui);font-size:.875rem;color:var(--vv-muted)}
