/* StreamLinePro Component Library - layout mobile-first condiviso. */

.sl-content {
  width: min(100%, var(--sl-content-max));
  margin-inline: auto;
  padding-inline: var(--sl-page-gutter);
}

.sl-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.sl-responsive-grid,
.sl-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.sl-safe-bottom {
  padding-bottom: calc(var(--space-6) + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 480px) {
  :root { --sl-page-gutter: 16px; }
}

@media (min-width: 768px) {
  .sl-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sl-responsive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  :root { --sl-page-gutter: 20px; }
}

@media (min-width: 1440px) {
  .sl-responsive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
