@layer pages {
  /* ===========================================
     Plan comparison: one table under an ink rule, like the report
     =========================================== */

  .pricing-table-wrap {
    overflow-x: auto;
    border-top: 2px solid var(--color-text);

    &:focus-visible {
      outline: 3px solid var(--color-focus);
      outline-offset: 4px;
    }
  }

  .pricing-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.0625rem;

    thead,
    tr,
    th {
      background: transparent;
    }

    th,
    td {
      padding: var(--space-5) var(--space-6) var(--space-5) 0;
      border-bottom: 1px solid var(--color-border);
      text-align: left;
      vertical-align: top;
      white-space: nowrap;
    }

    thead th {
      padding-top: var(--space-4);
      padding-bottom: var(--space-3);
      font-size: var(--text-sm);
      font-weight: var(--font-medium);
      color: var(--color-gray-700);
    }

    th:last-child,
    td:last-child {
      padding-right: 0;
    }

    .pricing-table__num {
      text-align: right;
    }

    .pricing-table__plan {
      font-weight: var(--font-semibold);
    }

    .pricing-table__note {
      display: block;
      margin-top: var(--space-1);
      font-size: var(--text-sm);
      font-weight: var(--font-normal);
      color: var(--color-text-muted);
    }

    .pricing-table__price {
      font-weight: var(--font-bold);
    }
  }

  .pricing-after {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-5) var(--space-10);
    margin-top: var(--space-8);

    p {
      max-width: 52ch;
      margin: 0;
      color: var(--color-text-muted);
    }

    a:not(.btn) {
      color: var(--color-text);
      text-decoration: underline;
      text-underline-offset: 0.2em;
    }
  }

  /* ===========================================
     Shared with credit packs (Settings > Credits)
     =========================================== */

  .pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);

    @media (min-width: 768px) {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .feature-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .feature-list__item {
    font-size: var(--text-sm);
  }
}

@layer pages {
  /* Phones: plan, credits and price fit without sideways scrolling; limits are in the plan features on sign-up */
  @media (max-width: 640px) {
    .pricing-table {
      font-size: var(--text-base);

      .pricing-table__optional {
        display: none;
      }

      th,
      td {
        padding-right: var(--space-4);
        white-space: normal;
      }
    }
  }
}
