/* ICS utilities (H95 Phase 1, 2026-11-05). Tokens only, no !important, single-class selectors.
   Holds what Bricks class settings handle poorly: pseudo-elements, states, clip. Names match the Bricks global classes of the same name.
   Applied to no element yet. Tokens: ics-structure.css :root. */
.ics-sr-only,
.ics-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.ics-hit {
  position: relative;
}
.ics-hit::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, var(--ics-hit));
  height: max(100%, var(--ics-hit));
  transform: translate(-50%, -50%);
}
.ics-focus:focus-visible {
  outline: var(--ics-focus-w) solid var(--neutral-1000);
  outline-offset: var(--ics-focus-o);
}
.ics-deco {
  pointer-events: none;
  user-select: none;
}
.ics-shadow-pink {
  box-shadow: var(--ics-shadow-offset) var(--ics-shadow-offset) 0 var(--ics-pink);
}

/* H106 legal contents list (nav.ics-toc, privacy / terms / child protection, VI + EN): link hit height 44px (--ics-hit). Text size unchanged. */
.ics-toc a {
  display: inline-flex;
  align-items: center;
  min-height: var(--ics-hit, 44px);
}

/* H106 filter selects (.ics-fsel): never smaller than the 44px hit size (empty select measured 34x44 at 834 and 1024). */
html body select.ics-fsel {
  min-width: var(--ics-hit, 44px) !important;
  min-height: var(--ics-hit, 44px);
}
html body select.ics-fsel#brxe-nzedpt#brxe-nzedpt {
  min-width: var(--ics-hit, 44px) !important;
}
