/**
 * Block section – generic borderless wrapper (background + padding).
 * Responsive; background and padding overridable via CSS vars or args.
 */
:root {
  --block-section-padding-top: 2.5rem;
  --block-section-padding-bottom: 2.5rem;
  --block-section-padding-left: 0;
  --block-section-padding-right: 0;
}

.block-section,
.block-section * {
  box-sizing: border-box;
}

.block-section {
  width: 100%;
  background-color: var(--block-section-bg, #fff);
}

.block-section-inner {
  width: 100%;
  padding-top: var(--block-section-padding-top);
  padding-bottom: var(--block-section-padding-bottom);
  padding-left: var(--block-section-padding-left);
  padding-right: var(--block-section-padding-right);
}

.block-section-inner.p-0 {
  padding: 0;
}

@media (min-width: 1600px) {
  .block-section:not([style*="--block-section-padding-top"]) {
    --block-section-padding-top: 6rem;
  }
  .block-section:not([style*="--block-section-padding-bottom"]) {
    --block-section-padding-bottom: 6rem;
  }
}

@media (max-width: 768px) {
  .block-section:not([style*="--block-section-padding-top"]) {
    --block-section-padding-top: 2.5rem;
  }
  .block-section:not([style*="--block-section-padding-bottom"]) {
    --block-section-padding-bottom: 2.5rem;
  }

  .block-section-inner.p-0 {
    padding: 0;
  }
}
