/* RifaTesta "Marquesina" — legal blocks (spec §3.15, §3.18–3.24, §4.8, §5.5–5.8).
 * Still by contract: no transitions, no animation, no glow, no filter. Solid smoke/night backgrounds, text >= 7:1
 * (bulb / bulb-soft), labels >= 4.5:1 (brass / bulb-mute). Legal data is Archivo, never Bungee/Tilt Neon, never
 * text-transform. Mobile first; every long string wraps. */

/* Shared: legal data and free text print literally, wrap anywhere, never truncate. */
.vg-permit,
.vg-facts,
.vg-prizes,
.vg-contact,
.vg-board-list,
.vg-doc,
.vg-footer {
  font-family: var(--vg-font-body);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  opacity: 1;
}
.vg-permit a, .vg-facts a, .vg-prizes a, .vg-contact a, .vg-board-list a, .vg-doc a, .vg-footer a {
  color: var(--vg-gold);
  text-underline-offset: 3px;
}
.vg-permit dt, .vg-facts dt, .vg-contact dt {
  color: var(--vg-brass);
  font-size: var(--vg-fs-xs);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.vg-permit dd, .vg-facts dd, .vg-contact dd { margin: var(--vg-s-1) 0 0; color: var(--vg-bulb); }

/* ---- Permit plaque (§3.20): engraved brass plate, solid smoke ---- */
.vg-permit {
  position: relative;
  margin: var(--vg-s-8) 0;
  padding: var(--vg-s-8) var(--vg-s-6);
  background: var(--vg-smoke);
  border-top: 2px solid var(--vg-brass);
  border-bottom: 2px solid var(--vg-brass);
  color: var(--vg-bulb-soft);
}
.vg-permit__screw {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, var(--vg-brass), var(--vg-line));
}
.vg-permit__screw--a { top: 10px; left: 10px; }
.vg-permit__screw--b { top: 10px; right: 10px; }
.vg-permit__screw--c { bottom: 10px; left: 10px; }
.vg-permit__screw--d { bottom: 10px; right: 10px; }
.vg-permit__t { margin: 0 0 var(--vg-s-4); font: 800 var(--vg-fs-lg)/1.2 var(--vg-font-body); color: var(--vg-bulb); }
.vg-permit__dl { display: grid; gap: var(--vg-s-4); margin: 0; }
.vg-permit__num { font-size: 1.25rem; font-weight: 800; color: var(--vg-bulb); }
.vg-permit__legend { margin: var(--vg-s-6) 0 0; padding: 0; border: 0; }
.vg-permit__legend p, p.vg-permit__legend {
  margin: 0;
  font: 400 var(--vg-fs-sm)/1.6 var(--vg-font-body);
  color: var(--vg-bulb-soft);
  white-space: pre-line;
}
.vg-permit__link { margin: var(--vg-s-6) 0 0; }
.vg-permit__link a, .vg-permit__more { display: inline-flex; align-items: center; min-height: 44px; }

/* Honest state: line border, softer text. */
.vg-permit--missing { border: 1px solid var(--vg-line); }
.vg-permit__state { margin: 0; font-weight: 800; color: var(--vg-bulb); }
.vg-permit__note { margin: var(--vg-s-2) 0 0; color: var(--vg-bulb-soft); }

/* Strip (hero): one line that may take two, never ellipsized. */
.vg-permit--strip {
  margin: var(--vg-s-4) 0;
  padding: var(--vg-s-3) 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--vg-brass);
  border-bottom: 1px solid var(--vg-brass);
  color: var(--vg-bulb);
  font-size: var(--vg-fs-sm);
  line-height: 1.4;
}
.vg-permit--strip .vg-permit__num { font-weight: 800; }
.vg-permit--strip.vg-permit--missing { border: 0; border-top: 1px solid var(--vg-line); border-bottom: 1px solid var(--vg-line); }

/* Compact (footer): inline dl, full legend at 13 px on night. */
.vg-permit--compact { margin: 0; padding: var(--vg-s-4) 0; background: transparent; border-color: var(--vg-brass); }
.vg-permit--compact .vg-permit__screw { display: none; }
.vg-permit--compact .vg-permit__dl { display: flex; flex-wrap: wrap; gap: var(--vg-s-1) var(--vg-s-4); }
.vg-permit--compact .vg-permit__dl > div { display: flex; flex-wrap: wrap; gap: var(--vg-s-1) var(--vg-s-2); }
.vg-permit--compact dd { margin: 0; color: var(--vg-bulb-soft); font-size: var(--vg-fs-xs); }
.vg-permit--compact .vg-permit__num { font-size: var(--vg-fs-xs); color: var(--vg-bulb-soft); }
.vg-permit--compact .vg-permit__legend p,
.vg-permit--compact p.vg-permit__legend { margin-top: var(--vg-s-3); font-size: var(--vg-fs-xs); color: var(--vg-bulb-mute); }
.vg-permit--compact .vg-permit__state { font-size: var(--vg-fs-xs); color: var(--vg-bulb-soft); }
.vg-permit--compact .vg-permit__note { font-size: var(--vg-fs-xs); color: var(--vg-bulb-mute); }

/* ---- Draw sheet and prizes: reading sections on night ---- */
.vg-ficha, .vg-prizes-sec { margin: var(--vg-s-12) 0; color: var(--vg-bulb-soft); }
.vg-ficha__eyebrow { margin: 0 0 var(--vg-s-2); color: var(--vg-brass); font-size: var(--vg-fs-xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vg-ficha__t, .vg-prizes-sec__t { margin: 0 0 var(--vg-s-6); font: 800 var(--vg-fs-xl)/1.15 var(--vg-font-body); color: var(--vg-bulb); }
.vg-ficha__h3 { margin: var(--vg-s-8) 0 var(--vg-s-3); font: 800 var(--vg-fs-lg)/1.2 var(--vg-font-body); color: var(--vg-bulb); }
.vg-ficha__method { margin: 0 0 var(--vg-s-3); font-weight: 800; color: var(--vg-bulb); }
.vg-ficha__text { max-width: 68ch; font-size: var(--vg-fs-base); line-height: 1.7; white-space: pre-line; color: var(--vg-bulb-soft); }

.vg-facts { display: grid; gap: var(--vg-s-4); margin: 0; padding: var(--vg-s-6); background: var(--vg-smoke); }
.vg-facts > div { min-width: 0; }
.vg-facts dd { font-size: var(--vg-fs-base); }

.vg-prizes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--vg-s-4); max-width: 72ch; }
.vg-prize { padding: var(--vg-s-6); background: var(--vg-smoke); border-top: 2px solid var(--vg-brass); }
.vg-prize__rank { margin: 0 0 var(--vg-s-2); color: var(--vg-brass); font-weight: 800; font-size: var(--vg-fs-sm); }
.vg-prize__t { margin: 0 0 var(--vg-s-3); font: 800 var(--vg-fs-lg)/1.25 var(--vg-font-body); color: var(--vg-bulb); }
.vg-prize__desc { margin: 0 0 var(--vg-s-3); white-space: pre-line; font-size: var(--vg-fs-base); line-height: 1.6; color: var(--vg-bulb-soft); }
.vg-prize__value { margin: 0; font-weight: 800; color: var(--vg-bulb); }
.vg-prizes-sec__state { margin: 0; padding: var(--vg-s-6); background: var(--vg-smoke); border: 1px solid var(--vg-line); color: var(--vg-bulb-soft); }
.vg-prizes-sec__video, .vg-prizes-sec__gallery { margin: var(--vg-s-8) 0 0; padding: 0; list-style: none; }
.vg-prizes-sec__video video, .vg-prizes-sec__gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 3px solid var(--vg-brass); border-radius: var(--vg-r-lg); }
.vg-prizes-sec__gallery { display: grid; gap: var(--vg-s-4); }

/* ---- Organizer contact (§3.23) ---- */
.vg-contact { display: block; margin: var(--vg-s-8) 0; padding: var(--vg-s-6); background: var(--vg-smoke); font-style: normal; color: var(--vg-bulb-soft); }
.vg-contact__t { margin: 0 0 var(--vg-s-4); font: 800 var(--vg-fs-lg)/1.2 var(--vg-font-body); color: var(--vg-bulb); }
.vg-contact__dl { display: grid; gap: var(--vg-s-4); margin: 0; }
.vg-contact__addr { white-space: pre-line; }
.vg-contact a { display: inline-block; min-height: 44px; line-height: 44px; }

/* ---- Winners board (§3.18) ---- */
.vg-board-list { list-style: none; margin: var(--vg-s-6) 0; padding: 0; display: grid; gap: var(--vg-s-4); }
.vg-board-list__row { padding: var(--vg-s-4) var(--vg-s-6); background: var(--vg-smoke); border-left: 3px solid var(--vg-brass); color: var(--vg-bulb-soft); }
.vg-board-list__row p { margin: var(--vg-s-1) 0; }
.vg-board-list__prize { font-weight: 600; color: var(--vg-bulb); }
.vg-board-list__no { font: 400 var(--vg-fs-xl)/1.1 var(--vg-font-marquee); color: var(--vg-gold); }
.vg-board-list__who { font-weight: 800; color: var(--vg-bulb); }
.vg-board-list__k { color: var(--vg-bulb-mute); }
.vg-board-list__evidence a, .vg-board-list__raffle a { display: inline-flex; align-items: center; min-height: 44px; }

/* ---- Bases acceptance (§3.24) ---- */
.vg-bases-inline { margin: var(--vg-s-4) 0; background: var(--vg-smoke); color: var(--vg-bulb-soft); }
.vg-bases-inline > summary { min-height: 48px; padding: var(--vg-s-3) var(--vg-s-4); display: flex; align-items: center; cursor: pointer; color: var(--vg-bulb); font-weight: 800; }
.vg-bases-inline__body { max-height: 50vh; max-height: 50svh; overflow-y: auto; padding: var(--vg-s-4); white-space: pre-line; font-size: var(--vg-fs-sm); line-height: 1.6; overflow-wrap: anywhere; }
.vg-accept { margin: var(--vg-s-4) 0; }
.vg-accept label { display: flex; align-items: flex-start; gap: var(--vg-s-3); min-height: 44px; padding: var(--vg-s-2) 0; color: var(--vg-bulb); cursor: pointer; }
.vg-accept input[type="checkbox"] { flex: none; width: 24px; height: 24px; margin: 0; accent-color: var(--vg-gold); }
.vg-accept__links { margin: var(--vg-s-2) 0 0; font-size: var(--vg-fs-sm); }
.vg-accept__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--vg-gold); }

/* ---- Reading template (§5.5-5.8) ---- */
.vg-doc { padding-block: var(--vg-s-12); background: var(--vg-night); color: var(--vg-bulb-soft); }
.vg-doc__head { margin-bottom: var(--vg-s-8); }
.vg-doc__eyebrow { margin: 0 0 var(--vg-s-2); color: var(--vg-brass); font-size: var(--vg-fs-xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vg-doc__title { margin: 0 0 var(--vg-s-3); font: 800 var(--vg-fs-2xl)/1.1 var(--vg-font-body); color: var(--vg-bulb); }
.vg-doc__lede, .vg-doc__meta { margin: var(--vg-s-1) 0; font-size: var(--vg-fs-base); color: var(--vg-bulb-soft); }
.vg-doc__sec { margin: var(--vg-s-12) 0; }
.vg-doc__sec h2, .vg-contact-page h2 { margin: 0 0 var(--vg-s-4); font: 800 var(--vg-fs-xl)/1.15 var(--vg-font-body); color: var(--vg-bulb); }
.vg-doc__text { max-width: 68ch; font-size: var(--vg-fs-base); line-height: 1.7; white-space: pre-line; color: var(--vg-bulb-soft); }
.vg-doc__empty { max-width: 68ch; margin: var(--vg-s-6) 0; padding: var(--vg-s-6); background: var(--vg-smoke); border: 1px solid var(--vg-line); color: var(--vg-bulb); }
.vg-doc__back a, .vg-pager__link { display: inline-flex; align-items: center; min-height: 44px; }
.vg-empty--winners { padding: var(--vg-s-8) 0; color: var(--vg-bulb); }
.vg-pager { display: flex; flex-wrap: wrap; gap: var(--vg-s-4); margin-top: var(--vg-s-8); }
.vg-contact-page { display: grid; gap: var(--vg-s-8); }
.vg-contact-page__org { margin-bottom: var(--vg-s-6); }
.vg-contact-page__raffles { margin: 0; padding: 0 0 0 var(--vg-s-6); }
.vg-contact-page__raffles a { display: inline-flex; align-items: center; min-height: 44px; }

/* ---- Footer (§3.15): one column at 390, three at 1440 ---- */
.vg-footer { padding-block: var(--vg-s-8); background: var(--vg-night); border-top: 1px solid var(--vg-brass); color: var(--vg-bulb-soft); font-size: var(--vg-fs-xs); }
.vg-footer__grid { display: grid; gap: var(--vg-s-6); }
.vg-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--vg-s-4); align-content: start; }
.vg-footer__link { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--vg-fs-sm); }
.vg-footer__brand { margin-top: var(--vg-s-6); }
.vg-footer__legal { margin: var(--vg-s-3) 0 0; color: var(--vg-bulb-mute); }

@media (min-width: 768px) {
  .vg-facts { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .vg-permit__dl { grid-template-columns: 5fr 7fr; }
  .vg-contact-page { grid-template-columns: 5fr 7fr; align-items: start; }
  .vg-footer__grid { grid-template-columns: 1fr 1fr 1fr; align-items: start; }
  .vg-prizes-sec__gallery { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Print: white paper, no site chrome (bases are printed by buyers and lawyers) ---- */
@media print {
  body { background: #fff !important; }
  .vg-header, .vg-lights, .vg-dock, .vg-dock-spacer, .vg-responsible, .vg-footer, .skip-link, .vg-doc__back, .vg-pager { display: none !important; }
  .vg-doc, .vg-permit, .vg-facts, .vg-prize, .vg-prizes-sec__state, .vg-contact, .vg-board-list__row, .vg-doc__empty {
    background: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
  }
  .vg-doc *, .vg-permit *, .vg-contact * { color: #000 !important; }
  .vg-permit__screw { display: none; }
  .vg-doc__text, .vg-ficha__text, .vg-permit__legend, .vg-prize__desc { max-width: none; }
  .vg-doc a { text-decoration: underline; }
  .vg-permit, .vg-prize, .vg-contact { break-inside: avoid; }
}
