@z-index-plans-new-tabs: 1;
@z-index-group-member-picker-list: 1;
@z-index-plans-new-tabs-content: 0;

@highlighted-heading-line-height: (@line-height-03 / 1rem) * 16px; // convert to px
@highlighted-heading-padding-vertical: @spacing-02;
@highlighted-heading-height: (
  @highlighted-heading-line-height + (2 * @highlighted-heading-padding-vertical)
);

@switcher-container-margin-bottom: @highlighted-heading-height + @spacing-10;

@nondiscounted-price-element-height: var(--line-height-02);

@group-member-picker-height: 24px;
@group-member-picker-top-height: 36px;
@group-member-picker-sm-width: 50%;
@group-member-picker-md-width: 25%;
@group-member-picker-min-width: 234px;

@container-plans-responsive-width: 95%;
@table-4-column-width: 25%;
@table-5-column-width: 20%;

.plans-new-design {
  padding-top: var(--header-height);

  .container {
    padding: 0 var(--spacing-06);

    @media (min-width: @screen-sm-min) {
      width: @container-plans-responsive-width;
    }
    @media (min-width: @screen-xl-min) {
      width: @container-xl;
    }

    .geo-banner-container {
      margin-top: var(--spacing-08);
    }

    .plans-new-design-content-spacing {
      margin-top: var(--spacing-16);
    }

    .interstitial-new-design-content-spacing {
      margin-top: var(--spacing-13);
    }
  }
  .main-heading-section {
    text-align: center;
    max-width: 885px;
    margin-left: auto;
    margin-right: auto;

    @media (max-width: @screen-xs-max) {
      text-align: left;
      padding: 0 16px;
    }

    .plans-page-heading {
      margin-top: 8px;
      margin-bottom: unset;
      font-size: 3rem;
      font-weight: 600;
      line-height: 64px;
      @media (max-width: @screen-xs-max) {
        font-size: 2.25rem;
        line-height: 48px;
        padding-right: 5rem;
      }
    }

    .plans-page-sub-heading {
      font-size: 1.125rem;
      line-height: 24px;
      margin-top: 16px;
      margin-bottom: unset;
    }
  }

  .plans-new-content {
    display: flex;
    flex-direction: column;
    align-items: center;

    @media (min-width: @screen-sm-min) {
      border-left: 1px solid var(--neutral-20);
      border-right: 1px solid var(--neutral-20);
      border-bottom: 1px solid var(--neutral-20);
      border-radius: 8px;
    }

    // this is the border between the tabs and the content, specifically on the left and right side
    // this is necessary to enable top border radius on the plans-new-content
    &::before {
      content: '';
      display: block;
      z-index: @z-index-plans-new-tabs-content;
      position: absolute;
      top: -1px; // make border overlap with the border on .plans-new-tabs
      width: 100%;
      height: 20px; // arbitrary height since it's transparent, make sure that it's bigger than border radius
      background: transparent;
      border-top: 1px solid var(--neutral-20);

      @media (min-width: @screen-sm-min) {
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
      }
    }
  }

  .plans-new-tabs-container {
    z-index: @z-index-plans-new-tabs;
    margin-top: var(--spacing-16);

    // explicit padding to tell that the bottom left and bottom right
    // does not have bottom border defined in .plans-new-tabs
    // technically unnecessary because padding is already defined in bootstrap column
    padding: 0 16px;
  }

  .plans-new-tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    border-bottom: 1px solid var(--neutral-20);

    .plans-new-tab {
      cursor: pointer;
      font-size: 16px;
      font-weight: 600;
      border-top-right-radius: 8px;
      border-top-left-radius: 8px;

      .plans-new-tab-link {
        border: unset;
        display: flex;
        align-items: center;
        color: var(--neutral-70);
        margin: 0;
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        border: 1px solid var(--neutral-20);
        padding: var(--spacing-05) var(--spacing-08);
        gap: var(--spacing-04);

        &:focus {
          background-color: unset;
          outline: 0;
        }

        &:hover {
          background-color: var(--neutral-20);
        }

        // tab navigation focus style
        &:focus-visible {
          .box-shadow-button-input();
          outline: 0;
        }

        .group-discount-bubble {
          padding: var(--spacing-01) var(--spacing-04);
          background-color: var(--green-10);
          color: var(--green-50);
          border-radius: var(--border-radius-full-new);
          font-family: 'DM Mono', monospace;
          font-feature-settings: 'ss05';
          font-size: var(--font-size-01);
          line-height: var(--line-height-01);
          font-weight: 500;

          @media (max-width: @screen-xs-max) {
            display: none;
          }
        }

        @media (max-width: @screen-xs-max) {
          font-size: var(--font-size-02);
          line-height: var(--line-height-02);
          padding: var(--spacing-05);
          gap: var(--spacing-02);
        }
      }

      &.active {
        .plans-new-tab-link {
          border: 1px solid white;
          position: relative;
          color: var(--green-50);

          // remove the border on tab focus
          &:focus-visible {
            &::before {
              content: unset;
            }
          }

          &::before {
            content: '';
            position: absolute;
            background: border-box
              linear-gradient(
                to bottom,
                @green-50 0%,
                @neutral-20 85%,
                @neutral-20 100%
              );
            -webkit-mask:
              linear-gradient(white 0 0) padding-box,
              linear-gradient(white 0 0);
            mask:
              linear-gradient(white 0 0) padding-box,
              linear-gradient(white 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            border-top-right-radius: 8px;
            border-top-left-radius: 8px;
            border: 1px solid transparent;
            border-bottom: 1px solid white;

            // make the border overlap with the .plans-new-tab-link border
            top: 0;
            bottom: -2px;
            left: -1px;
            right: -1px;
          }

          &:hover {
            background-color: unset;
          }
        }

        .plans-new-discount-badge {
          background-color: var(--green-10);
          color: var(--green-60);
        }
      }
    }
  }

  .plans-new-period-switcher-container {
    position: relative;
    display: inline-flex;
    background-color: var(--neutral-10);
    border-radius: var(--border-radius-full-new);
    padding: var(--spacing-03);
    margin-top: var(--spacing-09);
    margin-bottom: @switcher-container-margin-bottom;
    gap: var(--spacing-04);

    @media (max-width: @screen-xs-max) {
      margin-bottom: var(--spacing-09);
    }

    label {
      display: inline-flex;
      align-items: center;
      margin: 0;
      font-size: var(--font-size-05);
      font-weight: 600;
      line-height: var(--line-height-04);
      text-align: center;
      padding: var(--spacing-01) var(--spacing-04);
      border-radius: var(--border-radius-full-new);

      &:hover {
        background-color: var(--neutral-20);
        cursor: pointer;
      }
    }

    input[type='radio'] {
      position: absolute;
      left: -9999px;
      &:focus,
      &:focus-visible {
        outline: 0;
      }
    }

    input[type='radio']:focus-visible + label,
    input[type='radio']:checked:focus-visible + label {
      .box-shadow-button-input();
    }

    input[type='radio']:checked + label {
      background-color: var(--green-50);
      color: white;
      box-shadow: 0px 2px 4px 0px rgba(30, 37, 48, 0.16);
      .plans-new-discount-badge {
        background-color: var(--green-10);
        color: var(--green-60);
      }
    }

    .plans-new-discount-badge {
      margin-left: var(--spacing-03);
    }
  }

  .plans-new-discount-badge {
    font-size: var(--font-size-01);
    font-family: 'DM Mono', monospace;
    padding: 2px 8px;
    height: 20px;
    border-radius: 10px;
    background-color: var(--neutral-70);
    color: white;
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: var(--line-height-01);
  }

  .plans-new-tab-content {
    width: 100%;
    border: none;
    padding-top: 0;

    @media (max-width: @screen-xs-min) {
      padding: 0;
    }
  }

  .plans-new-mobile {
    display: none;

    @media (max-width: @screen-xs-max) {
      display: block;
    }
  }

  .plans-new-desktop {
    display: block;

    @media (max-width: @screen-xs-max) {
      display: none;
    }
  }

  .plans-new-table {
    width: 100%;

    // keep the borders separate to help with spacing and alignment in the CTAs
    border-collapse: separate;
    border-spacing: 0;

    th,
    td {
      width: @table-4-column-width;
    }
  }

  .plans-new-table-student {
    margin-left: @table-4-column-width / 2;
  }

  .plans-new-table-student-verification {
    font-weight: 600;
    font-size: var(--font-size-01);
    text-align: center;
  }

  .plans-new-table-group {
    margin-top: @spacing-11 + @highlighted-heading-height;
  }

  thead th {
    position: relative;
    padding: var(--spacing-06) var(--spacing-08) var(--spacing-04)
      var(--spacing-08);
    font-size: var(--font-size-05);
    font-weight: 600;
    line-height: var(--line-height-04);
    color: var(--neutral-90);
    text-align: center;

    @media (max-width: @screen-md-max) {
      padding: var(--spacing-05) var(--spacing-05) 0 var(--spacing-05);
    }
  }

  .plans-new-table-subheader {
    vertical-align: top;
    padding: 0 var(--spacing-08);
    @media (max-width: @screen-md-max) {
      padding: 0 var(--spacing-05);
    }

    &.plans-new-table-icon-cta-cell,
    &.plans-subheader-monthly-cta-swapped {
      vertical-align: bottom;
    }
  }

  .plans-new-table-cta-row {
    td {
      padding-bottom: var(--spacing-06);
      @media (max-width: @screen-md-max) {
        padding-bottom: var(--spacing-05);
      }

      // use transparent borders to use the same spacing as highlighted cells
      &:not(.plans-new-table-highlighted-cell) {
        border-right: var(--border-width-base) solid transparent;
        border-left: var(--border-width-base) solid transparent;
      }
    }

    .btn-block + .btn-block {
      margin-top: var(--spacing-04);
    }
  }

  .plans-new-table-header-grid-container {
    display: flex;
    flex-direction: column;
    align-items: center;

    s,
    .match-original-price-height {
      font-size: var(--font-size-02);
      line-height: @nondiscounted-price-element-height;
      color: var(--neutral-60);
      font-weight: 600;
    }

    .plans-new-table-header-price {
      font-size: var(--font-size-08);
      font-weight: 600;
      line-height: var(--line-height-07);
      color: var(--neutral-90);
    }

    .plans-new-table-header-price-unit {
      font-size: var(--font-size-02);
      line-height: var(--line-height-02);
      text-align: center;
    }

    .plans-new-table-cta {
      margin-top: auto;
      a:nth-child(2) {
        margin-top: var(--spacing-04);
      }
    }

    .plans-new-table-header-icon {
      font-size: 56px;
      color: var(--neutral-90);
    }
  }

  .plans-new-table-header-price-unit-total {
    font-size: var(--font-size-01);
    line-height: var(--line-height-01);
  }

  .plans-new-table-header-desc {
    margin-top: var(--spacing-05);
    margin-bottom: var(--spacing-08);
    font-size: var(--font-size-02);
    line-height: var(--line-height-02);
  }

  .plans-new-group-member-picker {
    .plans-new-group-member-picker-text {
      font-size: var(--font-size-02);
      line-height: var(--line-height-02);
      font-weight: 600;
      margin-bottom: var(--spacing-02);
    }

    .plans-new-group-member-picker-form {
      position: relative;

      .plans-new-group-member-picker-button {
        width: 100%;
        background-color: white;
        border-radius: var(--border-radius-base-new);
        border: 1px solid var(--neutral-60);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: var(--spacing-01) var(--spacing-03);
        margin-bottom: var(--spacing-04);
        height: @group-member-picker-height;
        font-size: var(--font-size-02);
        line-height: var(--line-height-02);

        &[aria-expanded='true'] {
          i {
            transform: rotate(180deg);
            transition: transform 0.35s ease;
          }
        }

        &[aria-expanded='false'] {
          i {
            transition: transform 0.35s ease;
          }
        }

        &[data-ol-plans-new-group-member-picker-button='group-all'] {
          height: @group-member-picker-top-height;
        }
      }

      ul.plans-new-group-member-picker-list {
        list-style-type: none;
        margin-bottom: 0;
        overflow: auto; // to enable box-shadow
        box-shadow: 0px 2px 4px 0px rgba(30, 37, 48, 0.16);
        padding: var(--spacing-02);
        position: absolute;
        top: @group-member-picker-height;
        background-color: white;
        width: 100%;
        margin-top: var(--spacing-01);
        z-index: @z-index-group-member-picker-list;

        &[data-ol-plans-new-group-member-picker-dropdown='group-all'] {
          top: @group-member-picker-top-height;
        }
      }

      li.plans-new-group-member-picker-footer {
        font-size: var(--font-size-02);
        line-height: var(--line-height-02);
        padding: var(--spacing-05) var(--spacing-04);

        span {
          display: block;
        }

        button {
          font-weight: 400;
          padding: 0;
          font-size: var(--font-size-02);
          line-height: var(--line-height-02);
        }
      }

      li {
        position: relative;

        &:not(:last-child) {
          margin-bottom: var(--spacing-02);
        }

        &:not(.plans-new-group-member-picker-footer):hover {
          input[type='radio']:not(:checked) + p {
            background-color: var(--neutral-10);
          }
        }

        input[type='radio'] {
          position: absolute;
          opacity: 0;
          cursor: pointer;

          &:focus + p {
            &:extend(.input-focus-style);
          }

          + p {
            padding: var(--spacing-05) var(--spacing-08) var(--spacing-05)
              var(--spacing-04);
            margin-bottom: 0;
            border-radius: var(--border-radius-base-new);
          }
        }

        input[type='radio']:checked + p {
          background-color: var(--green-10);
          color: var(--green-70);
          position: relative;
          word-wrap: break-word;

          &::after {
            content: url(../../../public/img/material-icons/check-green-20.svg);
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);

            @media (max-width: @screen-sm-max) {
              right: var(--spacing-04);
            }
          }
        }

        label {
          width: 100%;
          font-size: var(--font-size-02);
          line-height: var(--line-height-02);
          margin-bottom: var(--spacing-00);
          font-weight: 400;
          cursor: pointer;
          border-radius: var(--border-radius-base-new);

          .list-item-footer {
            font-size: var(--font-size-01);
            line-height: var(--line-height-01);
          }
        }
      }

      .plans-new-edu-discount {
        display: flex;
        align-items: flex-start;
        gap: var(--spacing-04);
        margin-bottom: var(--spacing-06);
        font-weight: 400;

        input[type='checkbox'] {
          margin: var(--spacing-02);
          accent-color: var(--green-50);

          &:focus-visible {
            .box-shadow-button-input();
          }
        }

        .plans-new-edu-discount-content {
          display: flex;
          flex-direction: column;

          span {
            line-height: var(--line-height-03);
            color: var(--neutral-90);
          }

          small {
            color: var(--neutral-70);
            font-size: var(--font-size-01);
            line-height: var(--line-height-01);
          }
        }
      }
    }
  }

  .plans-new-table-body:last-of-type {
    .plans-new-table-feature-row:last-of-type {
      .plans-new-table-feature-td.plans-new-table-highlighted-cell {
        border-bottom: var(--border-width-base) solid var(--green-50);
      }
    }
  }

  .plans-new-table-heading-row {
    // this means min-height, min-height does not work in table layout
    // https://stackoverflow.com/questions/7790222
    height: 64px;
  }

  .plans-new-table-heading-text {
    padding: var(--spacing-05) var(--spacing-08) var(--spacing-05)
      var(--spacing-05);
    font-weight: 600;
    font-size: var(--font-size-04);
    line-height: var(--line-height-03);
    vertical-align: bottom;
  }

  .plans-new-table-feature-row {
    &:nth-child(even) {
      background-color: var(--neutral-10);
    }
  }

  .plans-new-table-section-without-header-row {
    &:nth-child(odd):not(.plans-new-table-heading-row) {
      background-color: var(--neutral-10);
    }
    &:nth-child(even):not(.plans-new-table-heading-row) {
      background-color: var(--white);
    }
  }

  .plans-new-table-feature-th {
    font-weight: normal;
    padding: var(--spacing-05) var(--spacing-08) var(--spacing-05)
      var(--spacing-05);

    .plans-new-table-feature-th-content {
      line-height: var(--line-height-03);
      display: flex;
      justify-content: space-between;
      align-items: center;

      .plans-new-table-feature-tooltip-icon {
        cursor: help;
        margin-left: var(--spacing-05);
      }

      .tooltip.in {
        opacity: 1;
      }

      .tooltip-inner {
        padding: var(--spacing-04) var(--spacing-06);
        max-width: 258px;
        width: 258px;
        font-family: Lato, sans-serif;
        font-size: var(--font-size-02);
        text-align: left;
        background-color: var(--neutral-90);
        border-radius: var(--border-radius-base-new);
      }
    }
  }

  .plans-new-table-feature-td {
    padding: var(--spacing-05) var(--spacing-08);
    text-align: center;
    line-height: var(--line-height-03);

    .green-round-background {
      margin-right: 0;
    }
  }

  .plans-new-table-highlighted-heading {
    position: absolute;
    left: calc(-1 * var(--border-width-base));
    top: -1 * @highlighted-heading-height;
    height: @highlighted-heading-height;
    width: calc(100% + (2 * var(--border-width-base)));
    border-top-left-radius: var(--border-radius-large-new);
    border-top-right-radius: var(--border-radius-large-new);
    padding: @highlighted-heading-padding-vertical var(--spacing-04);
    font-weight: 600;
    text-align: center;
    line-height: @highlighted-heading-line-height;
    background-color: var(--green-50);
    color: var(--white);
    font-size: var(--font-size-03);
  }

  .plans-new-table-highlighted-cell {
    border-right: var(--border-width-base) solid var(--green-50);
    border-left: var(--border-width-base) solid var(--green-50);
  }

  .plans-new-organizations {
    padding: var(--spacing-13) var(--spacing-08);

    .plans-new-organizations-text {
      text-align: center;
      font-size: var(--font-size-05);
      line-height: var(--line-height-04);
      margin-bottom: var(--spacing-00);
    }

    .plans-new-organizations-logo {
      margin-top: var(--spacing-09);
      display: flex;
      justify-content: space-around;
      align-items: center;

      @media (max-width: @screen-md-max) {
        flex-wrap: wrap;
        gap: 30px;
      }
    }
  }

  .plans-card-container-mobile {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-06);

    .mt-spacing-06 {
      margin-top: var(--spacing-06);
    }

    .highlighted-plans-card {
      border: 2px solid var(--green-50) !important;
    }

    .plans-card-mobile {
      padding: var(--spacing-09);
      border: 2px solid var(--neutral-20);
      width: 100%; // might need max-width
      border-radius: 8px;
      display: flex;
      flex-direction: column;

      .plans-card-title-mobile {
        color: var(--neutral-90);
        font-size: var(--font-size-05); // 20px
        font-weight: 600;
        line-height: var(--line-height-04);
      }

      .plans-card-icon-container-mobile {
        margin-top: var(--spacing-04);
        .plans-card-icon {
          font-size: var(--font-size-09);
          color: var(--neutral-90);
        }
      }

      s {
        padding: var(--spacing-04) 0 0 0;
        color: var(--neutral-60);
        font-size: var(--font-size-04); // 18px
        font-weight: 600;
        line-height: var(--line-height-05);
        margin-bottom: var(--spacing-04);
      }

      .plans-card-price-container-mobile {
        display: flex;
        align-items: baseline;

        .light-gray-text:has(.billed-annually-disclaimer) {
          align-self: center;
        }
      }

      .group-plans-card-price-container-mobile {
        display: flex;
        align-items: center;
      }

      .plans-card-price-mobile {
        color: var(--neutral-90);
        font-size: var(--font-size-08); // 36px
        font-weight: 600;
        line-height: var(--line-height-07);
        margin-right: var(--spacing-03);
      }

      .light-gray-text {
        color: var(--neutral-70);
        font-size: var(--font-size-02); // 14px
        line-height: var(--line-height-02);
      }

      .plans-card-description-mobile {
        .green-round-background {
          width: 20px;
          height: 20px;
        }

        .plans-card-description-list-mobile {
          list-style-type: none;
          padding-left: 0;
          margin-bottom: unset;
          li {
            display: flex;
            margin-top: var(--spacing-05);
          }
        }

        .plans-card-cta-container {
          margin-top: var(--spacing-08);
          width: 100%;

          .btn-block + .btn-block {
            margin-top: var(--spacing-04);
          }
        }
      }
    }
  }

  .plans-new-group-tab-card-container {
    margin-top: var(--spacing-09);
  }

  .plans-features-table-section-container-mobile {
    margin-top: var(--spacing-13);
    .plans-features-section-heading-mobile {
      font-size: var(--font-size-06);
      font-weight: 600;
      line-height: var(--line-height-05);
      color: var(--neutral-90);
      text-align: center;
      margin-bottom: var(--spacing-08);
    }

    .plans-features-table-mobile {
      width: 100%;

      .plans-features-table-sticky-header {
        position: sticky;
        top: 0;
      }

      .plans-features-table-header {
        margin-bottom: var(--space-08);
      }

      .plans-features-table-header-container-mobile {
        margin: var(--spacing-08) auto;
        border-bottom: unset;
        width: 100%;
        max-width: 544px;

        .plans-features-table-header-item-mobile {
          width: 33%;
          min-width: 114px;
          padding: unset;

          .plans-features-table-header-item-content-mobile {
            padding: var(--spacing-04);
            text-align: center;
            background-color: var(--neutral-10);
          }

          .plans-group-features-table-header-item-content-mobile {
            padding: var(--spacing-04);
            text-align: center;
            background-color: var(--neutral-10);
            height: 64px;
            display: flex;
            justify-content: center;
            align-items: center;
          }

          .plans-features-table-header-item-title-mobile {
            color: var(--neutral-90);
            line-height: var(--line-height-03);
            font-weight: 600;
            font-size: var(--font-size-03);
          }

          .plans-features-table-header-item-price-mobile {
            font-weight: 400;
            color: var(--neutral-70);
            line-height: var(--line-height-01);
            font-size: var(--spacing-05);
          }
        }

        .highlighted-styles {
          background-color: var(--neutral-80);

          .plans-features-table-header-item-title-mobile,
          .plans-features-table-header-item-price-mobile {
            color: var(--white);
          }
        }

        .plans-features-table-header-item-content-mobile.highlighted,
        .plans-group-features-table-header-item-content-mobile.highlighted {
          .highlighted-styles;
        }
      }

      tr.plans-features-table-row-for-margin {
        height: var(--spacing-08);
      }

      .plans-features-table-body-container-mobile {
        .plans-features-table-row-heading-mobile {
          font-weight: 600;
          text-align: center;
          line-height: var(--line-height-03);
          .plans-features-table-row-section-heading-content-mobile {
            padding-top: var(--spacing-08);
            padding-bottom: var(--spacing-05);
            font-size: var(--font-size-04);
            color: var(--neutral-90);
          }
        }

        // .plans-features-table-row-title-mobile and .plans-features-table-row-mobile are combined together to make one row visually, so we are using factors of 4 to alternatively color their backgrounds.
        .plans-features-table-row-title-mobile {
          &.plans-features-table-row-title-mobile-without-heading {
            &:nth-child(4n - 3) {
              background-color: var(--neutral-10);
            }

            &:nth-child(4n - 1) {
              background-color: var(--white);
            }
          }

          &:nth-child(4n - 2) {
            background-color: var(--neutral-10);
          }

          &:nth-child(4n) {
            background-color: var(--white);
          }

          .plans-features-table-row-title-content-mobile {
            display: flex;
            justify-content: center;
            align-items: center;
            padding-top: var(--spacing-06);
            font-weight: 600;
            line-height: var(--line-height-03);
            .plans-features-table-row-title-accordion {
              display: flex;
              justify-content: center;
              flex-direction: column;
              align-items: center;
              text-align: center;
              padding: 0 var(--spacing-04);
              .plans-features-table-row-title-accordion-header {
                font-size: var(--font-size-03);
                font-weight: 600;
                line-height: var(--line-height-03);
                display: flex;
                justify-content: center;
                background-color: unset;
                border: unset;
                .plans-features-table-row-title-accordion-icon {
                  display: flex;
                  align-items: center;
                  transition: transform 0.35s ease;
                  margin-left: var(--spacing-02);
                }

                &:not(.collapsed) {
                  .plans-features-table-row-title-accordion-icon {
                    transform: rotate(180deg);
                    transition: transform 0.35s ease;
                  }
                }
              }
              .plans-features-table-row-title-accordion-body {
                font-size: var(--font-size-01);
                line-height: var(--line-height-01);
                font-weight: 400;
              }
            }
          }
        }

        .plans-features-table-row-mobile {
          &.plans-features-table-row-mobile-without-heading {
            &:nth-child(4n - 2) {
              background-color: var(--neutral-10);
            }

            &:nth-child(4n) {
              background-color: var(--white);
            }
          }

          &:nth-child(4n - 3) {
            background-color: var(--white);
          }

          &:nth-child(4n - 1) {
            background-color: var(--neutral-10);
          }

          .plans-features-table-cell-content-mobile {
            text-align: center;
            padding-top: var(--spacing-05);
            padding-bottom: var(--spacing-06);
          }
        }
      }
    }
  }

  .plans-price-disclaimer {
    font-size: var(--font-size-01);
    line-height: var(--line-height-01);
    margin-top: var(--spacing-08);
    text-align: center;

    &:last-child {
      margin-bottom: var(--spacing-11);
    }

    &:not(:last-child) {
      margin-bottom: var(--spacing-08);
    }

    .plans-price-disclaimer-icons {
      display: flex;
      justify-content: center;
      gap: var(--spacing-04);
    }
  }

  .only-show-for-specific-plan-type {
    display: none;
  }
  &[data-ol-current-plan-type='group'] {
    .show-for-plan-type-group {
      display: block;
    }
  }
  &[data-ol-current-plan-type='individual'] {
    .show-for-plan-type-individual {
      display: block;
    }
  }
  &[data-ol-current-plan-type='student'] {
    .show-for-plan-type-student {
      display: block;
    }
  }

  .only-show-for-specific-plan-period {
    display: none;
  }
  &[data-ol-current-plan-period='annual'] {
    .show-for-plan-period-annual {
      display: block;
    }
  }
  &[data-ol-current-plan-period='monthly'] {
    .show-for-plan-period-monthly {
      display: block;
    }
  }
}

.plans-overleaf-common-request {
  color: var(--neutral-90);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: var(--spacing-04) var(--spacing-08);
  text-align: center;
  gap: var(--spacing-06);

  @media (max-width: @screen-xs-max) {
    flex-direction: column;
    margin: 0;
  }

  a {
    font-size: var(--font-size-02);
    line-height: var(--line-height-02);
  }
}

.plans-faq {
  .faq-heading-container {
    text-align: center;
    margin-bottom: var(--spacing-10);

    @media (max-width: @screen-xs-max) {
      text-align: unset;
    }
  }

  .plans-faq-support {
    margin-top: var(--spacing-06);
    margin-bottom: var(--spacing-06);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-04);

    span {
      line-height: var(--line-height-03);
      font-size: var(--font-size-04);
    }

    button {
      font-family: 'DM Mono', monospace;
      font-weight: 500;
      text-decoration: none;
      color: var(--green-50);
      line-height: var(--line-height-03);
      font-size: var(--font-size-04);
      background-color: var(--white);
      border: unset;
      display: flex;
      align-items: center;
    }
  }
}

.plans-new-design.plans-interstitial-new-design {
  padding-top: var(--header-height);
  padding-bottom: var(--spacing-09);

  .plans-interstitial-new-content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .plans-new-table {
    th,
    td {
      width: @table-5-column-width;
    }
  }
}
