/* Spatial OS follows the store overview's bright, neutral design. */
.store-spatial-page .store-section-heading,
.store-spatial-page .store-configurator {
  width: min(1200px, calc(100% - 80px));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.store-spatial-page .store-hero { padding-bottom: 36px; }
.store-spatial-page .store-section-heading { padding-block: 12px 32px; }
.store-spatial-page .store-section-heading__overline {
  color: #0071ce;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .025em;
  margin-bottom: 18px;
}
.store-spatial-page .store-section-heading__title {
  margin: 0 0 22px;
  font-size: clamp(32px, 3.2vw, 46px);
  line-height: 1.13;
  letter-spacing: -.04em;
}
.store-spatial-page .store-section-heading__description {
  max-width: 700px;
  font-size: 18px;
  line-height: 1.55;
}
.store-spatial-page .store-configurator { gap: 24px; }
.store-spatial-page .store-configurator__builder { gap: 24px; }
.store-spatial-page .store-config-section {
  background: #f7f7f8;
  border: 1px solid #9ca4aa;
  border-radius: 18px;
  box-shadow: none;
  padding: 32px;
}
.store-spatial-page .store-config-section__number {
  width: 40px;
  height: 40px;
  background: #626b73;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.store-spatial-page .store-config-section__header h3 {
  font-size: 28px;
  line-height: 1.22;
  letter-spacing: -.025em;
  margin-bottom: 12px;
}
.store-spatial-page .store-config-section__header p { font-size: 15px; line-height: 1.55; }
.store-spatial-page .store-option,
.store-spatial-page .store-check-option {
  background: #fff;
  border-color: #c6ccd1;
  border-radius: 14px;
  box-shadow: none;
}
.store-spatial-page .store-option:has(input:checked),
.store-spatial-page .store-check-option:has(input:checked) {
  background: #fff;
  border-color: #0071ce;
  box-shadow: none;
}
.store-spatial-page .store-option__title { font-weight: 600; line-height: 1.4; }
.store-spatial-page .store-option__description { line-height: 1.55; }
.store-spatial-page .store-option__meta { color: #48667e; font-weight: 400; }
.store-spatial-page .store-note { background: #eef1f3; border: 1px solid #d8dce0; border-radius: 12px; }
.store-spatial-page .store-config-summary {
  background: #fff;
  border: 1px solid #9ca4aa;
  border-radius: 18px;
  box-shadow: none;
}
.store-spatial-page .store-config-summary__header {
  background: #f7f7f8;
  color: #15191d;
  border-bottom: 1px solid #d8dce0;
}
.store-spatial-page .store-config-summary__header p {
  color: #0071ce;
  opacity: 1;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: none;
}
.store-spatial-page .store-config-summary__header h2 { font-size: 28px; line-height: 1.22; }
.store-spatial-page .store-config-summary__header span { color: #59626b; line-height: 1.55; }
.store-spatial-page .store-config-summary__list > div { padding-block: 10px; border-bottom: 1px solid #e5e8eb; }
.store-spatial-page .store-config-summary__list dd { font-weight: 600; }
.store-spatial-page .store-config-summary__status { background: #e9f2fa; color: #0071ce; font-weight: 600; }
.store-spatial-page .store-config-summary__status::before,
.store-spatial-page .store-config-summary__included li::before { content: none; }
.store-spatial-page .store-config-summary__quote { background: #f7f7f8; border-color: #d8dce0; border-radius: 12px; }
.store-spatial-page .store-config-summary__quote p { line-height: 1.55; }
.store-spatial-page .store-button {
  min-height: 48px;
  border-color: #b8c5d0;
  border-radius: 28px;
  font: 600 14px/1.3 Arial, Helvetica, sans-serif;
  color: #0071ce;
}
.store-spatial-page .store-button--primary { background: #0071ce; border-color: #0071ce; color: #fff; }
.store-spatial-page .store-button::after { content: none; }
.store-spatial-page .store-config-summary__note { color: #59626b; line-height: 1.55; }
.store-spatial-page .store-config-summary__included { background: #f7f7f8; border-color: #d8dce0; }
.store-spatial-page .store-config-summary__included li { padding-block: 8px; border-bottom: 1px solid #e0e4e7; color: #59626b; }
.store-spatial-page .store-config-summary__included li:last-child { border: 0; }
@media (hover: hover) {
  .store-spatial-page .store-option:hover,
  .store-spatial-page .store-check-option:hover { border-color: #9ca4aa; }
  .store-spatial-page .store-button:hover { background: #edf5fc; border-color: #0071ce; }
  .store-spatial-page .store-button--primary:hover { background: #005da9; border-color: #005da9; }
}
@media (max-width: 1050px) {
  .store-spatial-page .store-section-heading,
  .store-spatial-page .store-configurator { width: calc(100% - 56px); }
}
@media (max-width: 700px) {
  .store-spatial-page .store-section-heading,
  .store-spatial-page .store-configurator { width: calc(100% - 40px); }
  .store-spatial-page .store-hero { padding-bottom: 28px; }
  .store-spatial-page .store-section-heading { padding-block: 12px 28px; }
  .store-spatial-page .store-section-heading__title { font-size: 34px; }
  .store-spatial-page .store-section-heading__description { font-size: 17px; }
  .store-spatial-page .store-config-section { padding: 26px; }
  .store-spatial-page .store-config-section__header { gap: 12px; }
  .store-spatial-page .store-config-section__header h3 { font-size: 25px; }
  .store-spatial-page .store-configurator { padding-bottom: 62px; }
}

.store-spatial-page .store-config-summary__list dt { flex: 0 0 92px; }

/* Consistent vertical rhythm across the configurator and quote form. */
.store-spatial-page .store-section-heading { padding-bottom: 28px; }
.store-spatial-page .store-section-heading__title { margin-bottom: 0; }
.store-spatial-page .store-config-section__header { margin-bottom: 24px; }
.store-spatial-page .store-config-section__header h3 { margin-bottom: 8px; }
.store-spatial-page .store-option { padding: 20px; }
.store-spatial-page .store-option:has(input:checked) { padding: 19.5px; }
.store-spatial-page .store-option__description { margin-top: 8px; }
.store-spatial-page .store-option__meta { padding-top: 12px; }
.store-spatial-page .store-check-option small { margin-top: 4px; }
.store-spatial-page .store-divider { margin-block: 24px; }
.store-spatial-page .spatial-os-service-group,
.store-spatial-page .spatial-os-hardware-group { gap: 16px; }
.store-spatial-page .spatial-os-service-group legend,
.store-spatial-page .spatial-os-hardware-group legend { gap: 4px; margin-bottom: 16px; }
.store-spatial-page .spatial-os-service-group + .spatial-os-service-group {
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
}
.store-spatial-page .store-note { margin-top: 16px; }
.store-spatial-page .spatial-os-hardware-group > .store-note { margin-top: 0; }
.store-spatial-page .store-config-summary__header { padding: 24px; }
.store-spatial-page .store-config-summary__header h2 { margin-block: 8px 12px; }
.store-spatial-page .store-config-summary__body { padding: 24px; }
.store-spatial-page .store-config-summary__list > div { padding-block: 12px; }
.store-spatial-page .store-config-summary__list > div:first-child { padding-top: 0; }
.store-spatial-page .store-config-summary__status { margin-top: 16px; }
.store-spatial-page .store-config-summary__quote { margin-top: 16px; padding: 16px; }
.store-spatial-page .store-config-summary__quote strong { margin-top: 8px; }
.store-spatial-page .store-config-summary__quote p { margin-top: 8px; }
.store-spatial-page .store-config-summary__body > .store-button--primary { margin-top: 24px; }
.store-spatial-page .store-config-summary__body > .store-button:not(.store-button--primary) { margin-top: 12px; }
.store-spatial-page .store-config-summary__note { margin-top: 16px; }
.store-spatial-page .store-config-summary__included { padding: 24px; }
.store-spatial-page .store-config-summary__included h3 { margin-bottom: 12px; }
.store-spatial-page .store-dialog__card { padding: 32px; }
.store-spatial-page .store-dialog__header h2 { margin-bottom: 12px; }
.store-spatial-page .store-dialog__form-grid { margin-top: 24px; gap: 16px; }
.store-spatial-page .store-configuration-preview { margin-top: 24px; }
.store-spatial-page .store-dialog__actions { margin-top: 24px; }
@media (max-width: 700px) {
  .store-spatial-page .store-section-heading { padding-bottom: 24px; }
  .store-spatial-page .store-config-section { padding: 24px; }
  .store-spatial-page .store-config-section__header { margin-bottom: 20px; }
  .store-spatial-page .store-dialog__card { padding: 24px; }
}

@media (min-width: 901px) {
  .store-spatial-page .store-config-summary {
    max-height: calc(100dvh - var(--site-header-height) - var(--store-navigation-height) - 40px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #bcc3c9 transparent;
  }
}
