@layer fonts {
    /* work-sans-regular - latin */
    @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 400;
    src: url('./assets/fonts/work-sans-v23-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* work-sans-600 - latin */
    @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    src: url('./assets/fonts/work-sans-v23-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* work-sans-700 - latin */
    @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 700;
    src: url('./assets/fonts/work-sans-v23-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }
}

@layer colors {
    :root {
    /* Color Palette */
    --clr-white: hsl(0, 100%, 100%);
    --clr-grey100: hsl(0, 0%, 97%);
    --clr-grey600: hsl(0, 0%, 60%);
    --clr-black: hsl(0, 0%, 0%);
    --clr-purple100: hsl(275, 100%, 97%);
    --clr-purple600: hsl(292, 16%, 49%);
    --clr-purple950: hsl(292, 42%, 14%);
    --clr-purple: hsl(292, 100%, 36%);
    /* Layout colors */
    --layout-background: var(--clr-purple100);
    --layout-card-background: var(--clr-white);
    --layout-card-shadow: 10px 10px 20px rgba(0, 0, 0, 0.15);
    --layout-card-anchor-border: var(--clr-grey100);
    /* Font colors */
    --font-color-h1: var(--clr-black);
    --font-color-p: var(--clr-grey600);
    --font-color-anchor: var(--clr-black);
    --font-color-anchor-hover: var(--clr-purple);
    }
}

@layer Layout {
    *, *:before, *:after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        font-family: 'Work Sans', sans-serif;
        font-size: 16px;
        line-height: 1.5;
        text-decoration: none;
    }

    body {
        position: relative;
        display: grid;
        grid-template-rows: 35vh 64vh 1vh;
        width: 100vw;
        height: 100vh;
        margin: 0;
        background-color: var(--layout-background);
    }

    .bg-image {
        background-image: url('./assets/images/background-pattern-desktop.svg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 100%;
        margin: 0;

        @media (width <= 828px) {
            background-image: url('./assets/images/background-pattern-mobile.svg');
            background-size: cover;
            background-position: center;
        }
    }

    main {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100vw;
        height: 100vh;
    }

    section {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        max-width: 500px;
    }

    .card {
        background-color: var(--layout-card-background);
        box-shadow: var(--layout-card-shadow);
        border-radius: 8px;
        min-width: 500px;
        padding: 2rem;

        @media (width <= 828px) {
           min-width: 400px;
           padding: 1.5rem; 
        }

        @media (width <= 450px) {
           min-width: 350px;
           padding: 1.2rem; 
        }

        @media (width <= 375px) {
           min-width: 270px;
           padding: 1.2rem; 
        }
    }

    h1 {
        display: flex;
        align-items: center;
        color: var(--font-color-h1);
        font-size: 2.5rem;
        font-weight: 700;
        margin-top: 0;

        @media (width <= 828px) {
           font-size: 2rem; 
        }

        @media (width <= 450px) {
           font-size: 1.8rem; 
        }
    }

    span img {
        width: 1.9rem;
        height: 1.9rem;
        vertical-align: middle;
        margin-right: 1.2rem;

        @media (width <= 828px) {
           width: 1.5rem;
           height: 1.5rem;
           margin-right: 1.4rem;
        }
    }

    p {
        color: var(--font-color-p);
        font-size: 0.75rem;
        padding-top: 0.8rem;

        @media (width <= 828px) {
           font-size: 0.7rem; 
        }
    }

    a {
        font-size: 0.9rem;
        font-weight: 600;
        line-height: 2rem;
        text-decoration: none;
        color: var(--font-color-anchor);

        @media (width <= 828px) {
           font-size: 0.95rem;
           padding-right: 2.5rem;
           line-height: 1.5rem;
        }

        @media (width <= 450px) {
           font-size: 0.95rem;
           padding-right: 2rem;
           line-height: 1.2rem;
        }
    }

    a:hover {
        color: var(--font-color-anchor-hover);
    }

    .accordion-item {
        padding-top: 1rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid var(--layout-card-anchor-border);
    }

    .accordion-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .accordion-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
    }

    .accordion-body {
        display: none;
    }

    img {
        width: 1.6rem;
        height: 1.6rem;
        transition: fill 0.3s ease;

        @media (width <= 828px) {
            width: 1.8rem;
            height: 1.8rem;
        }
    }

    .plus {
        display: block;
    }

    .minus {
        display: none;
    }

    footer {
        position: absolute;
        width: 100%;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        font-size: 10px; 
        text-align: center;
        > a {
            padding: 0;
            font-size: 10px; 
            color: hsl(228, 45%, 44%); 
        }
    }
}