@layer components {
  @scope (.plans) {
    :scope {
      container-type: inline-size;
      background-color: var(--wp--preset--color--base);
      padding-block-start: clamp(3.5rem, 2.923rem + 2.308cqi, 5rem);
      padding-block-end: 0;
      padding-inline: clamp(1.5rem, -2.25rem + 15cqi, 11.25rem);
    }

    .plans__heading {
      margin-block: 0 clamp(3.5rem, 3.308rem + 0.769cqi, 4rem);
      font-size: clamp(1.5rem, 1.308rem + 0.769cqi, 2rem);
      font-weight: 700;
      color: var(--wp--custom--color--text);
      text-align: center;
    }

    .plans__heading-image {
        display: block;
        margin-inline: auto;
        margin-bottom: clamp(2.5rem, 1.972rem + 2.25vw, 4rem);
        width: clamp(15.688rem, 12.893rem + 11.92vw, 23.625rem);
        height: auto;
    }

    .plans__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      row-gap: clamp(2.5rem, 2.308rem + 0.769cqi, 3rem);
    }

    @container (inline-size > 768px) {
      .plans__grid {
        grid-template-columns: repeat(4, 1fr);
      }
    }

    .plans__item {
      text-align: center;
    }

    .plans__data {
      display: flex;
      align-items: baseline;
      justify-content: center;
      margin: 0;
    }

    .plans__data-num {
      font-family: var(--wp--preset--font-family--accent);
      font-weight: 700;
      font-size: clamp(3.5rem, 2.923rem + 2.308cqi, 5rem);
      line-height: 1;
      color: var(--wp--custom--color--green);
    }

    .plans__data-unit {
      font-family: var(--wp--preset--font-family--accent);
      font-weight: 700;
      font-size: clamp(2rem, 1.615rem + 1.538cqi, 3rem);
      line-height: 1;
      color: var(--wp--custom--color--text);
    }

    .plans__separator {
      inline-size: clamp(10rem, 8.125rem + 7.5cqi, 14.875rem);
      block-size: 0;
      border: none;
      border-block-start: 1px solid var(--wp--custom--color--text);
      margin-block: 0.5rem;
      margin-inline: auto;
    }

    .plans__price {
      display: flex;
      align-items: baseline;
      justify-content: center;
      margin: 0;
    }

    .plans__price-num {
      font-family: var(--wp--preset--font-family--accent);
      font-weight: 700;
      font-size: clamp(1.5rem, 1.115rem + 1.538cqi, 2.5rem);
      line-height: 1;
      color: var(--wp--custom--color--green);
    }

    .plans__price-unit {
      font-family: var(--wp--preset--font-family--body);
      font-weight: 700;
      font-size: clamp(0.875rem, 0.731rem + 0.577cqi, 1.25rem);
      color: var(--wp--custom--color--text);
    }

    .plans__price-tax {
      margin-block: 0.25rem 0;
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--wp--custom--color--text);
      text-align: center;
    }

    .plans__features {
      display: flex;
      flex-direction: column;
      gap: clamp(2.5rem, 2.308rem + 0.769cqi, 3rem);
      margin-block-start: clamp(3.5rem, 2.923rem + 2.308cqi, 5rem);
    }

    @container (inline-size > 768px) {
      .plans__features {
        flex-direction: row;
      }
    }

    .plans__feature {
      border: 1px solid var(--wp--custom--color--green);
      border-radius: 0.625rem;
      padding-block: 2rem;
      padding-inline: 1.5rem;
      background-color: var(--wp--preset--color--base);
      flex: 1;
    }

    .plans__feature-title {
      margin: 0;
      font-size: clamp(1.125rem, 1.077rem + 0.192cqi, 1.25rem);
      font-weight: 700;
      color: var(--wp--custom--color--text);
      line-height: 1.5;
    }

    .plans__feature-img {
      display: block;
      max-inline-size: 100%;
      block-size: auto;
      margin-block-start: 1rem;
      margin-inline: auto;
    }

    .plans__feature-img--small {
      inline-size: 6.25rem;
      margin-inline: auto;
    }

    @container (inline-size > 768px) {
      .plans__feature:has(.plans__feature-img--small) {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto 1fr;
        column-gap: 1.5rem;
      }

      .plans__feature:has(.plans__feature-img--small) .plans__feature-title {
        grid-column: 1 / -1;
      }

      .plans__feature:has(.plans__feature-img--small) .plans__feature-img--small {
        grid-column: 1;
        grid-row: 2;
        inline-size: clamp(6.25rem, 4.639rem + 6.442cqi, 10.438rem);
        margin-inline: 0;
      }

      .plans__feature:has(.plans__feature-img--small) .plans__feature-note {
        grid-column: 2;
        grid-row: 2;
      }
    }

    .plans__feature-note {
      margin-block: 1rem 0;
      font-size: 0.875rem;
      font-weight: 400;
      color: var(--wp--custom--color--text);
      line-height: 1.8;
    }
  }
}
