/* ============================================================
   Additions for the 2026 rebuild (loaded after style.css).
   ============================================================ */

/* Theme from the portal's visual editor (site.json "site" section). Each
   --ve-* is only set when chosen; the original values are the fallbacks. */
:root {
  --bg: var(--ve-secondary, #0a0a0c);
  --ink: var(--ve-primary, #f4f2ef);
  --accent: var(--ve-accent, #ed1c24);
  --font-display: var(--ve-heading-font, "Helvetica Neue"), "Arial Narrow", Impact, system-ui, sans-serif;
  --font-body: var(--ve-body-font, system-ui), -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
html { font-size: var(--ve-text-size, 100%); }

/* Text fields that hold line breaks ("Four Corners,\nOne Fight"). */
.pre { white-space: pre-line; }
/* Home hero: the first line keeps the heading's colour; the accent span stays red. */
.hero h1 .h1-main { font-style: normal; color: inherit; }
/* Inline SVG wrapper: no box of its own. */
.svgw { display: contents; }
/* The reels and marquee tracks hold their list twice; each copy is a wrapper with no box. */
.track-copy { display: contents; }
/* Was a margin-top on the big button. */
.mega-gap { display: block; height: 28px; }
.mega-gap--sm { height: 24px; }

/* ---------- Editor blocks (text, image, split, grid, …) ---------- */
.blk-heading { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(2rem, 5vw, 3.4rem); line-height: .95; margin: 0 0 18px; white-space: pre-line; }
.blk-body { color: var(--ink-2); font-size: 1.05rem; max-width: 62ch; white-space: pre-line; margin: 0; }
.blk-figure { margin: 0; }
.blk-img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--line); background: var(--bg-2); }
.blk-img--wide { aspect-ratio: 4/3; object-fit: cover; }
.blk-img--tall { aspect-ratio: 3/4; object-fit: cover; }
.blk-caption { display: block; margin-top: 10px; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.blk-split { display: grid; gap: clamp(24px, 5vw, 64px); align-items: center; grid-template-columns: 1fr 1fr; }
.blk-split--right > img { order: 2; }
.blk-slides { display: flex; gap: var(--gutter); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
.blk-slide { flex: 0 0 min(85%, 560px); scroll-snap-align: start; }
.blk-grid { display: grid; gap: var(--gutter); grid-template-columns: repeat(3, 1fr); }
@media (max-width: 760px) {
  .blk-split { grid-template-columns: 1fr; }
  .blk-split--right > img { order: 0; }
  .blk-grid { grid-template-columns: repeat(2, 1fr); }
}
/* Empty text leaves vanish for visitors but stay clickable in the editor. */
html:not(.ve-edit) .blk-leaf:empty, html:not(.ve-edit) .blk-caption:empty { display: none; }

.ve-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(var(--rows,1),minmax(var(--ve-row,48px),auto));gap:var(--ve-gap,16px)}
.ve-layout>[data-item]{grid-column:var(--col)/span var(--w);grid-row:var(--row)/span var(--h);min-width:0;isolation:isolate}
.ve-layout>[data-kind=image]>img{display:block;width:100%;height:100%;object-fit:cover;contain:size}
.ve-layout>[data-kind=heading]>*,.ve-layout>[data-kind=text]>*{margin:0;white-space:pre-line}
@media (max-width:700px){.ve-layout{display:flex;flex-direction:column}.ve-layout>[data-item]{order:calc(var(--row)*12 + var(--col))}.ve-layout>[data-kind=image]>img{height:auto;contain:none}}
