/* Shared card-grid sizing: columns follow the available container width rather
   than jumping between unrelated page-specific breakpoint counts. */
:root {
  --responsive-card-min: 280px;
}

.service-grid { --responsive-card-min: 410px; }
.partner-grid,
.partner-grid-compact { --responsive-card-min: 290px; }
.trust-strip,
.report-channel-grid { --responsive-card-min: 220px; }
.support-card-grid { --responsive-card-min: 205px; }
.process-grid,
.library-guide-grid,
.endpoint-grid,
.community-table-grid { --responsive-card-min: 320px; }
.account-grid,
.takedown-grid { --responsive-card-min: 340px; }
.library-topic-grid { --responsive-card-min: 540px; }

:is(
  .service-grid,
  .help-grid,
  .paid-grid,
  .partner-grid,
  .partner-grid-compact,
  .resource-grid,
  .trust-strip,
  .report-channel-grid,
  .support-card-grid,
  .mobile-feature-grid,
  .library-hub-grid,
  .process-grid,
  .library-topic-grid,
  .library-guide-grid,
  .endpoint-grid,
  .pricing-grid,
  .services-hub-grid,
  .service-detail-grid,
  .children-card-grid,
  .device-grid,
  .explanation-grid,
  .takedown-grid,
  .community-table-grid,
  .account-grid
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--responsive-card-min, 280px)), 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

:is(
  .service-card,
  .help-card,
  .paid-card,
  .partner-card,
  .resource-card,
  .trust-strip article,
  .report-channel,
  .support-card,
  .mobile-feature-grid article,
  .library-hub-card,
  .process-card,
  .library-topic-card,
  .library-guide-grid a,
  .endpoint-card,
  .price-card,
  .database-result,
  .breach-report,
  .children-card-grid article,
  .device-grid article,
  .account-grid > *,
  .community-table-grid > *
) {
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 800px) {
  :is(
    .service-grid,
    .help-grid,
    .paid-grid,
    .partner-grid,
    .partner-grid-compact,
    .resource-grid,
    .trust-strip,
    .report-channel-grid,
    .support-card-grid,
    .mobile-feature-grid,
    .library-hub-grid,
    .process-grid,
    .library-topic-grid,
    .library-guide-grid,
    .endpoint-grid,
    .pricing-grid,
    .services-hub-grid,
    .service-detail-grid,
    .children-card-grid,
    .device-grid,
    .explanation-grid,
    .takedown-grid,
    .community-table-grid,
    .account-grid
  ) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }
}
