/* Responsive corrections, 14 October 2026. Width includes padding/borders. */
*, *::before, *::after { box-sizing: border-box; }

/* A profile row is a card, not an unbounded single-line flex strip.
   Keep its title and audience together; description/rate/link get full rows. */
.page .profile .profile__section > ul > li[data-row-id] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 12px;
}
.page .profile .profile__section > ul > li[data-row-id] > span:first-child {
  font-weight: 600;
  overflow-wrap: anywhere;
}
.page .profile .profile__section > ul > li[data-row-id] > :is(p, a) {
  grid-column: 1 / -1;
  margin-block: 0;
  overflow-wrap: anywhere;
}
.page .profile .profile__section > ul > li[data-row-id] > .design-visibility-pill {
  justify-self: end;
  white-space: nowrap;
}
.page .app-frame__content .front-page-actions > :is(button, .btn) + :is(button, .btn) {
  margin-inline-start: 0;
}
.design-guard-shortcut {
  inset-block-end: calc(var(--nav-bar-height) + 18px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 1023px) {
  .app-frame:has(.live-profile,.dateguard-screen,.vairidate,.vairipay-screen) > .design-guard-shortcut {
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }
}

/* Advertising lives inside the shared reading column, not the full viewport. */
.page .advertising-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 1rem;
  align-items: start;
}
