/* Mobile-first responsive and touch foundation: 320px base, progressive desktop enhancement. */
.srp-context-storefront,
.srp-context-operational { min-width: 0; overflow-wrap: anywhere; }

.srp-context-storefront :where(img, svg, video, canvas),
.srp-context-operational :where(img, svg, video, canvas) { max-width: 100%; }

.srp-context-storefront :where(input, select, textarea),
.srp-context-operational :where(input, select, textarea) { max-width: 100%; }

.srp-context-storefront .srp-ui-container,
.srp-context-operational .srp-ui-container { width: min(100%, var(--srp-content-max)); margin-inline: auto; padding-inline: var(--srp-page-gutter); }

.srp-ui-mobile-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.srp-ui-safe-bottom { padding-bottom: max(var(--srp-space-4), var(--srp-safe-bottom)); }
.srp-ui-sticky-bottom { position: sticky; z-index: var(--srp-z-sticky); bottom: 0; margin-inline: calc(var(--srp-page-gutter) * -1); padding: .75rem var(--srp-page-gutter) max(.75rem, var(--srp-safe-bottom)); border-top: 1px solid var(--srp-border); background: rgba(255,255,255,.96); box-shadow: 0 -10px 28px rgba(15,23,42,.08); backdrop-filter: blur(12px); }

@media (max-width: 767px) {
  .srp-ui-hide-mobile { display: none !important; }
  .srp-ui-actions > .srp-ui-button { flex: 1 1 auto; }
  .srp-ui-dialog { width: min(calc(100% - 1rem), 36rem); max-height: calc(100dvh - 1rem); border-radius: var(--srp-radius-lg); }
  .srp-ui-sheet { width: min(94vw, 26rem); }

  .srp-ui-table[data-ui-mobile="cards"] { display: block; }
  .srp-ui-table[data-ui-mobile="cards"] thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .srp-ui-table[data-ui-mobile="cards"] tbody,
  .srp-ui-table[data-ui-mobile="cards"] tr,
  .srp-ui-table[data-ui-mobile="cards"] td { display: block; width: 100%; }
  .srp-ui-table[data-ui-mobile="cards"] tbody { padding: .75rem; }
  .srp-ui-table[data-ui-mobile="cards"] tr { margin-bottom: .75rem; border: 1px solid var(--srp-border); border-radius: var(--srp-radius-lg); background: var(--srp-surface); box-shadow: var(--srp-shadow-xs); overflow: hidden; }
  .srp-ui-table[data-ui-mobile="cards"] tr:last-child { margin-bottom: 0; }
  .srp-ui-table[data-ui-mobile="cards"] td { display: grid; grid-template-columns: minmax(7rem, 42%) minmax(0, 1fr); gap: .75rem; align-items: start; min-height: 0; padding: .65rem .75rem; text-align: right; }
  .srp-ui-table[data-ui-mobile="cards"] td::before { content: attr(data-label); color: var(--srp-muted-foreground); font-size: var(--srp-text-xs); font-weight: var(--srp-weight-bold); text-align: left; text-transform: uppercase; letter-spacing: .025em; }
  .srp-ui-table[data-ui-mobile="cards"] td:empty::before { content: none; }
}

@media (min-width: 768px) {
  .srp-ui-show-mobile { display: none !important; }
  .srp-ui-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--srp-density-gap); }
}

@media (min-width: 1024px) {
  .srp-ui-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--srp-density-gap); }
  .srp-ui-sticky-bottom { position: static; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
}

@media (min-width: 1366px) {
  .srp-context-operational { --srp-page-gutter: 1.5rem; }
}

@media print {
  .srp-ui-no-print, .srp-ui-toast-region, .srp-ui-backdrop { display: none !important; }
  .srp-context-storefront, .srp-context-operational { background: #fff !important; color: #000 !important; }
}
