.hide-mobile {
  display: none !important;
}
.hide-desktop {
  display: initial !important;
}
.stack-sm {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.scroll-x {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.scrollbar-none {
  scrollbar-width: none;
}
.scrollbar-none::-webkit-scrollbar {
  display: none;
}
.bleed-inline {
  margin-inline: calc(50% - 50vw);
}
.safe-bottom {
  padding-block-end: env(safe-area-inset-bottom, 0px);
}
.mobile-only-grid {
  display: grid;
}

@media (min-width: 640px) {
  .sm\:grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stack-sm {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (min-width: 768px) {
  .hide-mobile {
    display: initial !important;
  }
  .hide-desktop {
    display: none !important;
  }
  .md\:grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .mobile-only-grid {
    display: none;
  }
}

@media (min-width: 1024px) {
  .lg\:grid-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:sticky-aside {
    position: sticky;
    inset-block-start: calc(var(--header-h) + 1.5rem);
  }
}

@media print {
  .site-header,
  .mobile-action-bar,
  .mab-drawer,
  .chat-panel,
  .live-chat-banner,
  .final-cta,
  [data-print-hide],
  .print-hide {
    display: none !important;
  }
  body {
    background: #fff !important;
    color: #000 !important;
  }
  a {
    text-decoration: underline;
  }
}
