/* AVN Core — layout grid, visibility utilities, base tokens. Kept tiny; loaded on every page. */
:root {
  --avn-container: 1200px;
  --avn-accent: #2c6ecb;
  --avn-gap: 20px;
  --avn-row-bg: transparent;
  --avn-row-min-height: auto;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; line-height: 1.6; color: #1f2328; }
img { max-width: 100%; height: auto; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--avn-accent); outline-offset: 2px; }

/* Builder rows */
.avn-row { background: var(--avn-row-bg); min-height: var(--avn-row-min-height); }
.avn-row-inner {
  display: flex;
  align-items: center;
  gap: var(--avn-gap);
  min-height: inherit;
}
.avn-row-inner.avn-contained { max-width: var(--avn-container); margin-inline: auto; padding-inline: 20px; }
.avn-row-inner.avn-full { width: 100%; padding-inline: 20px; }

/* Columns: 12-col flex system */
.avn-col { display: flex; align-items: center; gap: 12px; min-width: 0; }
.avn-col-auto { flex: 1 1 auto; }
.avn-col-span-1 { flex: 0 0 8.333%; }  .avn-col-span-2 { flex: 0 0 16.666%; }
.avn-col-span-3 { flex: 0 0 25%; }     .avn-col-span-4 { flex: 0 0 33.333%; }
.avn-col-span-5 { flex: 0 0 41.666%; } .avn-col-span-6 { flex: 0 0 50%; }
.avn-col-span-7 { flex: 0 0 58.333%; } .avn-col-span-8 { flex: 0 0 66.666%; }
.avn-col-span-9 { flex: 0 0 75%; }     .avn-col-span-10 { flex: 0 0 83.333%; }
.avn-col-span-11 { flex: 0 0 91.666%; } .avn-col-span-12 { flex: 0 0 100%; }

.avn-align-start { justify-content: flex-start; }
.avn-align-center { justify-content: center; }
.avn-align-end { justify-content: flex-end; }

/* Responsive visibility utilities */
@media (min-width: 1025px) { .avn-hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .avn-hide-tablet { display: none !important; } }
@media (max-width: 767px) {
  .avn-hide-mobile { display: none !important; }
  .avn-stack-mobile .avn-row-inner { flex-direction: column; align-items: stretch; }
  .avn-stack-mobile .avn-col { justify-content: center; flex-basis: auto; }
}

/* Transparent header */
.avn-transparent-header #avn-header { position: absolute; inset-inline: 0; top: 0; z-index: 90; background: transparent; }

/* Tiny always-safe component primitives */
.avn-spacer { height: var(--avn-spacer, 24px); width: 100%; }
.avn-spacer--divider { height: auto; border-top: 1px solid rgba(127, 127, 127, 0.25); margin-block: calc(var(--avn-spacer, 24px) / 2); }
.avn-copyright { margin: 0; font-size: 0.875rem; }
