@import url('https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&display=swap');

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

html,
body {
    height: 100%;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
}

ul,
ol {
    list-style: none;
}

p,
li {
    text-wrap: pretty;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

:root {
    /* Colors */
    --teal-500: hsl(179, 62%, 43%);
    --green-400: hsl(71, 73%, 54%);
    --teal-100: hsl(204, 43%, 93%);
    --gray-500: hsl(218, 22%, 67%);

    /* Fonts */
    --ff-karla: "Karla", sans-serif;
    --fs-general: 1rem;
    --fw-400: 400;
    --fw-700: 700;

    /* Sizes */
    /* H1 ("Join our community"): de 20px a 24px */
    --h1-fs: clamp(1.25rem, 1.16rem + 0.38vw, 1.5rem);

    /* H2 ("30-day..." y "Why Us"): de 15px a 18px */
    --h2-fs: clamp(1.1rem, 0.87rem + 0.28vw, 1.2rem);

    /* Precio ("$29"): de 28px a 32px */
    --h3-fs: clamp(1.75rem, 1.66rem + 0.38vw, 2rem);
}

body {
    display: grid;
    place-items: center;
    margin-inline: auto;
    background-color: var(--teal-100);
    padding: clamp(2rem, 5vw, 5rem);
    font-family: var(--ff-karla);
    min-height: 100vh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.card {
    border-radius: .5rem;
    overflow: hidden;
    box-shadow: 0 0 15px 10px #00000010;
}

.card__header {
    background-color: #ffffff;
    padding: clamp(1.5rem, 0.972rem + 2.25vw, 3rem);
}

.card__title {
    color: var(--teal-500);
    font-size: var(--h1-fs);
    margin-bottom: 1rem;
}

.card__subtitle {
    color: var(--green-400);
    font-size: var(--h2-fs);
    margin-bottom: .625rem;
}

.card__description {
    color: var(--gray-500);
    max-width: 36.3125rem;
}

.card__content {
    display: flex;
}

.card__pricing {
    background-color: var(--teal-500);
    padding: clamp(1.5rem, 0.972rem + 2.25vw, 3rem);
    width: 100%;

    display: flex;
    flex-direction: column;
    color: var(--teal-100);
    align-items: flex-start;
    justify-content: space-between;
}

.card__price {
    display: flex;
    font-size: var(--h3-fs);
    align-items: center;
    gap: .625rem;
    font-weight: var(--fw-700);
}

.card__price span {
    color: var(--teal-100);
    opacity: 0.5;
    font-size: 1rem;
}

.card__button {
    width: 100%;
    border: none;
    outline: none;
    color: var(--teal-100);
    background-color: #b1ce2f;
    padding: 1rem;
    border-radius: .375rem;
    box-shadow: 0px 10px 10px #00000036;
    font-weight: var(--fw-700);
    cursor: pointer;
}

.card__button:focus-visible {
    outline: 2px solid rgb(157, 255, 0);
    outline-offset: 2px;
}

.card__heading {
    font-size: var(--h2-fs);
}

.card__features {
    background-color: #49BEBD;
    padding: clamp(1.5rem, 0.972rem + 2.25vw, 3rem);
    width: 100%;
    color: var(--teal-100);
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: .75rem;
}

.card__list li {
    opacity: 0.8;
}

@media screen and (max-width: 48rem) {
    .card__content {
        flex-wrap: wrap;
    }

    .card__pricing {
        gap: 1rem;
    }
}