/* basic styles needed everywhere */
:root {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height);
    color: var(--black);
    background-color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0 !important;
    padding: 0 !important;

    background-color: var(--white) !important;
    color: var(--black) !important;
}

.layout-container {
    margin: 0 !important;
}

p {
    font-size: var(--font-size-base);
    margin:  0 0 calc(var(--line-height)) 0;
    line-height: var(--line-height);
    &:last-child {
        margin-bottom: 0;
    }
}

a {
    color: var(--black);
    text-decoration: underline;
    transition: all 0.25s;
    &:hover {
        color: var(--black);
        text-decoration: none;
    }

    &.link--primary {
        color: var(--primary);
        &:hover {
            color: var(--primary);
        }
    }
}

.lead {
    font-weight: 500;
    font-family: var(--font-family-accent);
    font-size: var(--font-size-lead);
}
.strong {
    font-weight: bold;
}
.text-center {
    text-align: center;
}

.visible {
    visibility: visible;
}
.invisible {
    visibility: hidden;
}

.bg--primary {
    background: var(--primary);
    color: var(--white);
}
.bg--secondary {
    background: var(--secondary);
    color: var(--white);
}
.bg--tertiary {
    background: var(--tertiary);
    color: var(--white);
}
.bg--black {
    background: var(--black);
    color: var(--white);
}
.bg--grey-dark {
    background: var(--grey-dark);
}
.bg--grey-medium {
    background: var(--grey-medium);
}
.bg--grey-light {
    background: var(--grey-light);
}

#___storybook_wrapper {
    background: white;
}

.container:has(.user-login-form) {
  padding: 15rem 0;
}