.boxes {
  display: flex;
  align-item: center;
  justify-content: center;

  li {
    list-style-type: "✅";
    padding: 5px;
  }

  div, ul {
    margin: 5px;
    padding: 25px;
    border-radius: 5px;
  }
}

.boxes-wrapper {
  background: lightyellow;

  border: solid 3px MediumSlateBlue;
  border-radius: 5px;

  h2 {
    color: SlateBlue;
    text-align: center;
    margin: 10px 0 0 0;
    padding: 0;
  }

  ul {
    margin: 15px;
    padding: 5px;
  }
}

/* Top section: pricing panel side-by-side with the comparison table.
   ~36/64 split (flex-grow 2 vs 3.5). */
.top-split {
  display: flex;
  gap: 16px;
  align-items: stretch;
  margin: 2em 0 26px;
}

.top-split > .boxes-wrapper {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
}

.top-split > .pricing-panel { flex-grow: 2; }
.top-split > .comparison-panel { flex-grow: 3.5; }

/* Pricing + Onboarding: stacked on mobile, side-by-side on wide screens
   (mirrors the .top-split pattern). Pricing column 1.5x Onboarding. */
.info-split {
  display: flex;
  flex-direction: column;        /* stacked = mobile default */
  gap: 8px;
}

.info-split > .info-col { flex: 1 1 0; min-width: 0; }
.info-split > .info-col:first-child { flex-grow: 1.5; }
.info-split > .info-col + .info-col {
  border-top: 3px solid #2a2045;
  @media (prefers-color-scheme: dark) {
    border-top: 3px solid #2a2045;
  }
}

@media (min-width: 700px) {
  .info-split {
    flex-direction: row;         /* side-by-side on wide screens */
    gap: 32px;
  }
  .info-split > .info-col + .info-col {
    border-top: 0;
    border-left: 1px solid gray;
    padding-left: 10px;

    ol { padding-left: 2em; }
    li { margin-bottom: 10px; }

    @media (prefers-color-scheme: dark) {
      border-left: 3px solid #2a2045;
    }
  }
}

/* Big slot-month price headline inside the pricing panel. */
.price-headline {
  text-align: center;
  font-size: 2.4em;
  font-weight: 700;
  margin: 12px 0 0;
}

.price-headline small {
  font-size: 0.6em;
  font-weight: 500;
}

/* Single left-aligned column of ✅ items (instead of two centered columns). */
.boxes--single {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.boxes--single ul {
  padding-left: 24px;
}

/* "Sign-up before August 1st…" blurb — small centered callout. */
.boxes--single .offer {
  margin: 10px;
  padding: 10px;

  font-size: 15px;
  font-weight: bold;

  background: #f5dfdf;
  border: 1px solid black;

  @media (prefers-color-scheme: dark) {
    background: #662a2a;
    border: 1px solid white;
  }
}

/* Comparison table living inside a .boxes-wrapper box. */
.table-box {
  padding: 15px;
  overflow-x: auto;
}

.table-box table {
  width: 100%;
}

.table-box table + table {
  margin-top: 14px;
}

.table-box .table-note {
  margin: 12px 0 0;
}

@media (max-width: 768px) {
  .top-split {
    flex-direction: column;
  }

  .boxes {
    flex-direction: column;
    align-items: stretch;

    div, ul {
      padding: 10px 20px;
      margin: 5px 0;
    }
  }
}

@media (prefers-color-scheme: dark) {
  .boxes-wrapper {
    background: #1d1d33;
    border-color: #5535b8;

    h2 {
      color: #9d8fdb;
    }
  }
}
