@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&display=swap');

*,
::before,
::after {
    margin: 0;
    box-sizing: border-box;
    font-family: "Bricolage Grotesque", sans-serif;
}

:root {
    --app-background: oklch(22.213% 0.00003 271.152);
    --container-border-size: 0.5px;
    --container-border-style: solid;
    --container-border-color: oklch(31.714% 0.00004 271.152);
    --container-padding-size: 1rem 1.4rem;
    --connection-badge-bgcolor: oklab(81.87299999999999% -0.00443 0.15793);
    --connection-badge-textcolor: oklch(0% 0 0);
    --connection-badge-padding: 0.3rem 0.5rem;

}

@layer base {
    body {
        background-color: var(--app-background);
    }
}

@layer utilities {
    .flex {
        display: flex;
    }

    .flex-column {
        flex-direction: column;
    }

    .justify-center {
        justify-content: center;
    }

    .items-center {
        align-items: center;
    }

    .min-h-dvh {
        min-height: 100dvh;
    }

    .container-size {
        width: 550px;
        border-radius: 10px;
    }

    .container-padding {
        padding: var(--container-padding-size);
    }

    .container-border {
        border: var(--container-border-size) var(--container-border-style) var(--container-border-color);
    }

    .gap-7px {
        gap: 7px;
    }

    .bg-connection {
        background-color: var(--connection-badge-bgcolor);
    }

    .text-connection {
        color: var(--connection-badge-textcolor);
        font-size: 16px;
    }

    .padding-connection {
        padding: var(--connection-badge-padding);
    }

    .decoration-none {
        text-decoration: none;
    }

    .gap-5px {
        gap: 5px;
    }

    .w-fit {
        width: fit-content;
    }

    .text-center {
        text-align: center;
    }

    .rounded-7px {
        border-radius: 7px;
    }

    .social-action {
        & svg {
            flex-shrink: 0;
        }
    }

    .hobbies span {
        background-color: #313131;
        padding: 0.5rem 1rem;
        font-size: 14px;
        color: #e8e8e8;
        border-radius: 100em;
        text-wrap-mode: nowrap;
    }
    
    .gap-5px {
        gap: 5px;
    }
    
    .gap-y-1rem {
        row-gap: 1rem;
    }
}

@media screen and (max-width: 480px) {
    main {
        margin-inline: 1.5rem;
    }
}
