.costs {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  background-position: center bottom;
  background-size: cover;
  background-attachment: fixed;
  padding-block: var(--p-lg);
  text-align: center;

  @media (min-width: 765px) {
    padding-block: var(--p-xl);
  }

  .container {
    justify-content: space-between;
    gap: var(--p-lg);

    @media (min-width: 765px) {
      flex-direction: row;
      justify-content: space-between;
      align-items: stretch;
    }
  }

  h2,
  p {
    margin: 0;
  }

  h2 {
    color: var(--color-primary);
  }

  .prices {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--p-lg);

    @media (min-width: 765px) {
      width: 35%;
    }

    .table {
      display: flex;
      flex-direction: column;
      gap: calc(var(--space-unit) / 2);

      .line {
        display: flex;

        span {
          width: 100%;
        }
      }
    }

    .lunch {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--p-lg);

      h2 {
        color: var(--color-contrast);
      }
    }
  }

  .birthday {
    width: 100%;

    @media (min-width: 765px) {
      width: 50%;
    }

    .card {
      align-items: center;
    }
  }

  .card {
    width: 100%;
    overflow: hidden;
    border-radius: 72px 0;
    background-color: oklch(from var(--color-light) l c h / 0.85);
    backdrop-filter: var(--bg-blur);
    display: flex;
    flex-direction: column;
    padding: var(--p-lg);
    gap: var(--p-lg);

    @media (min-width: 765px) {
      padding-block: var(--p-xl);
    }
  }

  .consult {
    display: flex;
    flex-direction: column;
    gap: var(--p-md);
    align-items: center;
  }

  .texts {
    display: flex;
    flex-direction: column;
    gap: var(--p-lg);
  }
}
