/* _responsive-grid.css — ND Brandbook Responsive Grid (Optimized + Safe) */

/* ---------------------------------------------
   RESPONSIVE GRID UTILITIES (1–15 Column System)
   Mobile-first + ND2025 breakpoints
--------------------------------------------- */

/* Base: Mobile = full width */

[class^="nd-col-sm-"],
[class^="nd-col-md-"],
[class^="nd-col-lg-"],
[class^="nd-col-xl-"],
[class^="nd-col-2xl-"] {
  box-sizing: border-box;
  min-height: 1px;
}

@media (min-width: 640px) {
  /* sm breakpoint */
  .nd-col-sm-1  { flex: 0 0 calc(100% / 15 * 1); }
  .nd-col-sm-2  { flex: 0 0 calc(100% / 15 * 2); }
  .nd-col-sm-3  { flex: 0 0 calc(100% / 15 * 3); }
  .nd-col-sm-4  { flex: 0 0 calc(100% / 15 * 4); }
  .nd-col-sm-5  { flex: 0 0 calc(100% / 15 * 5); }
  .nd-col-sm-6  { flex: 0 0 calc(100% / 15 * 6); }
  .nd-col-sm-7  { flex: 0 0 calc(100% / 15 * 7); }
  .nd-col-sm-8  { flex: 0 0 calc(100% / 15 * 8); }
  .nd-col-sm-9  { flex: 0 0 calc(100% / 15 * 9); }
  .nd-col-sm-10 { flex: 0 0 calc(100% / 15 * 10); }
  .nd-col-sm-11 { flex: 0 0 calc(100% / 15 * 11); }
  .nd-col-sm-12 { flex: 0 0 calc(100% / 15 * 12); }
  .nd-col-sm-13 { flex: 0 0 calc(100% / 15 * 13); }
  .nd-col-sm-14 { flex: 0 0 calc(100% / 15 * 14); }
  .nd-col-sm-15 { flex: 0 0 100%; }
}

@media (min-width: 768px) {
  /* md breakpoint */
  .nd-col-md-1  { flex: 0 0 calc(100% / 15 * 1); }
  .nd-col-md-2  { flex: 0 0 calc(100% / 15 * 2); }
  .nd-col-md-3  { flex: 0 0 calc(100% / 15 * 3); }
  .nd-col-md-4  { flex: 0 0 calc(100% / 15 * 4); }
  .nd-col-md-5  { flex: 0 0 calc(100% / 15 * 5); }
  .nd-col-md-6  { flex: 0 0 calc(100% / 15 * 6); }
  .nd-col-md-7  { flex: 0 0 calc(100% / 15 * 7); }
  .nd-col-md-8  { flex: 0 0 calc(100% / 15 * 8); }
  .nd-col-md-9  { flex: 0 0 calc(100% / 15 * 9); }
  .nd-col-md-10 { flex: 0 0 calc(100% / 15 * 10); }
  .nd-col-md-11 { flex: 0 0 calc(100% / 15 * 11); }
  .nd-col-md-12 { flex: 0 0 calc(100% / 15 * 12); }
  .nd-col-md-13 { flex: 0 0 calc(100% / 15 * 13); }
  .nd-col-md-14 { flex: 0 0 calc(100% / 15 * 14); }
  .nd-col-md-15 { flex: 0 0 100%; }
}

@media (min-width: 1024px) {
  /* lg breakpoint */
  .nd-col-lg-1  { flex: 0 0 calc(100% / 15 * 1); }
  .nd-col-lg-2  { flex: 0 0 calc(100% / 15 * 2); }
  .nd-col-lg-3  { flex: 0 0 calc(100% / 15 * 3); }
  .nd-col-lg-4  { flex: 0 0 calc(100% / 15 * 4); }
  .nd-col-lg-5  { flex: 0 0 calc(100% / 15 * 5); }
  .nd-col-lg-6  { flex: 0 0 calc(100% / 15 * 6); }
  .nd-col-lg-7  { flex: 0 0 calc(100% / 15 * 7); }
  .nd-col-lg-8  { flex: 0 0 calc(100% / 15 * 8); }
  .nd-col-lg-9  { flex: 0 0 calc(100% / 15 * 9); }
  .nd-col-lg-10 { flex: 0 0 calc(100% / 15 * 10); }
  .nd-col-lg-11 { flex: 0 0 calc(100% / 15 * 11); }
  .nd-col-lg-12 { flex: 0 0 calc(100% / 15 * 12); }
  .nd-col-lg-13 { flex: 0 0 calc(100% / 15 * 13); }
  .nd-col-lg-14 { flex: 0 0 calc(100% / 15 * 14); }
  .nd-col-lg-15 { flex: 0 0 100%; }
}

@media (min-width: 1280px) {
  /* xl breakpoint */
  .nd-col-xl-1  { flex: 0 0 calc(100% / 15 * 1); }
  .nd-col-xl-2  { flex: 0 0 calc(100% / 15 * 2); }
  .nd-col-xl-3  { flex: 0 0 calc(100% / 15 * 3); }
  .nd-col-xl-4  { flex: 0 0 calc(100% / 15 * 4); }
  .nd-col-xl-5  { flex: 0 0 calc(100% / 15 * 5); }
  .nd-col-xl-6  { flex: 0 0 calc(100% / 15 * 6); }
  .nd-col-xl-7  { flex: 0 0 calc(100% / 15 * 7); }
  .nd-col-xl-8  { flex: 0 0 calc(100% / 15 * 8); }
  .nd-col-xl-9  { flex: 0 0 calc(100% / 15 * 9); }
  .nd-col-xl-10 { flex: 0 0 calc(100% / 15 * 10); }
  .nd-col-xl-11 { flex: 0 0 calc(100% / 15 * 11); }
  .nd-col-xl-12 { flex: 0 0 calc(100% / 15 * 12); }
  .nd-col-xl-13 { flex: 0 0 calc(100% / 15 * 13); }
  .nd-col-xl-14 { flex: 0 0 calc(100% / 15 * 14); }
  .nd-col-xl-15 { flex: 0 0 100%; }
}

@media (min-width: 1536px) {
  /* 2xl breakpoint */
  .nd-col-2xl-1  { flex: 0 0 calc(100% / 15 * 1); }
  .nd-col-2xl-2  { flex: 0 0 calc(100% /