
.s360-grid,
.school360-grid {
  display: grid;
  gap: var(--s360-space-md);
}

.s360-grid-2,
.school360-two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.s360-grid-3,
.school360-three-col {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.s360-grid-auto,
.s360-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--s360-space-md);
}

.s360-grid-auto-lg {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}

.s360-cluster,
.s360-cluster-between {
  display: flex;
  align-items: center;
  gap: var(--s360-space-sm);
  flex-wrap: wrap;
}

.s360-cluster-between {
  justify-content: space-between;
}

.s360-stack-xs > * + * { margin-top: var(--s360-space-xs); }
.s360-stack-sm > * + * { margin-top: var(--s360-space-sm); }
.s360-stack-md > * + * { margin-top: var(--s360-space-md); }
.s360-stack-lg > * + * { margin-top: var(--s360-space-lg); }

.s360-section {
  margin-bottom: var(--s360-space-xl);
}

@media (max-width: 1100px) {
  .s360-grid-2,
  .s360-grid-3,
  .school360-two-col,
  .school360-three-col {
    grid-template-columns: 1fr;
  }
}


.s360-grid-2-compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.s360-grid-4-stat {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
}
.s360-grid-form-split {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  align-items: start;
}
.s360-grid-sidebar-main {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 24px;
  align-items: start;
}
.s360-grid-sidebar-main-alt {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 24px;
  align-items: start;
}
@media (max-width: 1100px) {
  .s360-grid-2-compact,
  .s360-grid-4-stat,
  .s360-grid-form-split,
  .s360-grid-sidebar-main,
  .s360-grid-sidebar-main-alt {
    grid-template-columns: 1fr;
  }
}


.s360-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.s360-filter-grid-5 { display: grid; grid-template-columns: repeat(5, minmax(160px, 1fr)); gap: 12px; align-items: end; }
.s360-grid-auto-320 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--s360-space-lg); }
@media (max-width: 1100px) { .s360-grid-4, .s360-filter-grid-5 { grid-template-columns: 1fr; } }


.s360-grid-school-shell { display:grid; grid-template-columns: 2fr 1fr; gap: var(--s360-space-lg); align-items: start; }
.s360-grid-auto-220 { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s360-space-md); }
@media (max-width: 1100px) { .s360-grid-school-shell { grid-template-columns: 1fr; } }

.s360-custom-layout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.s360-custom-layout-heading {
  grid-column: 1 / -1;
  font-weight: 600;
  margin-top: 4px;
}
.s360-custom-layout-item {
  border: 1px solid #dcdcde;
  border-radius: 10px;
  padding: 14px;
  background: #fff;
}
.s360-custom-layout-label {
  margin-bottom: 8px;
  font-weight: 600;
}
.s360-custom-layout-control .description {
  margin-top: 6px;
}
.s360-layout-width-full {
  grid-column: 1 / -1;
}
.s360-layout-width-half.s360-layout-column-left {
  grid-column: 1;
}
.s360-layout-width-half.s360-layout-column-right {
  grid-column: 2;
}
@media (max-width: 782px) {
  .s360-custom-layout-grid {
    grid-template-columns: 1fr;
  }
  .s360-layout-width-full,
  .s360-layout-width-half.s360-layout-column-left,
  .s360-layout-width-half.s360-layout-column-right {
    grid-column: auto;
  }
}
