.sequencer {
  background: #fff;
  color: #000;
  padding: 20px 20px 20px 20px; /* top, right, bottom padding, flush left */
  min-width: 500px;
  display: flex;
  flex-direction: column; /* Stack rows vertically */
}

.sequencer-container {
  min-width: 500px;
}

.row {
  display: flex;
  align-items: center;
}

.step-labels {
  order: 1; /* Move step labels to the bottom of the .sequencer container */
}

.instrument-row {
  order: 0; /* Keep instrument rows above the labels */
  align-items: center;
}

.label,
.step {
  /* Safari fix: base width 0 then grow/shrink equally */
  flex: 1 1 0%;
  text-align: center;
  font-weight: bold;
  border: 1px solid #000;
  background: #fff;
  box-sizing: border-box;
  padding: 5px 0;
}

.step-labels .label {
  border: none;               /* Remove all borders */
  border-top: 1px solid #000; /* Add just the top border */
  font-size: 2em;             /* your enlarged labels */
}

.step {
  cursor: pointer;
  /* aspect‐ratio keeps it square */
  aspect-ratio: 1;
  display: flex;           /* center content */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.step img {
  display: block;      /* remove inline whitespace */
  max-width: 100%;     /* never overflow its cell */
  height: auto;        /* preserve aspect ratio */
  object-fit: contain; /* just in case */
}

/* entire step / label with .current-step turns yellow */
.current-step {
  background-color: yellow !important;
}

/* styles.css */

.navbar-dark .navbar-nav .nav-link {
  color: white;
  font-weight: bold;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: #ccc;
}

/* styles.css */

button {
  color: white;
  border: none;
  padding: 10px 20px;
  font-weight: bold;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.1s ease-in-out, box-shadow 0.2s;
}

button:active {
  transform: scale(0.95);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) inset;
}

/* Colour classes */
.green {
  background-color: #28a745;
}

.red {
  background-color: #dc3545;
}

.black {
  background-color: #343a40;
}

.logo {
  width: 100px;   /* change this value to resize */
  height: auto;   /* preserves aspect ratio */
  /* optional centering */
  margin: 0 auto;
}


/* Only “break out” when viewport is under 768px wide */
@media (max-width: 767.98px) {
  .full-bleed {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 0 20px;      /* 20px on left & right */
    box-sizing: border-box;
  }

  .full-bleed .overflow-auto {
    width: 100%;
    overflow-x: auto;
  }
}