@source "/usr/local/bundle/ruby/3.4.0/bundler/gems/cfa-ui-components-3b12580b5b38";

@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');

@theme {
    --color-link-unvisited: #0358A2;
    --color-link-visited: #4C2C92;
}

body {
    font-family: "Public Sans", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;

    font-size: 16px;
    font-weight: 400;

    @apply antialiased leading-none;
}

main {
    @apply bg-white mx-auto w-full max-w-[368px] md:max-w-[688px] xl:max-w-[944px] 2xl:max-w-[1072px] px-4 py-8 space-y-8;
}

form {
    @apply space-y-8;
}

.radio_button_item {
    @apply space-x-2;
}

.checkbox_item {
    @apply space-x-2;
}

h1 {
    font-size: 48px;
    font-weight: 700;
}

h2 {
    font-size: 22px;
    font-weight: 400;
}

.label {
    @apply text-zinc-900;
    font-size: 13px;
    font-weight: 700;
}

.label.required::after {
    @apply text-red-700;
    content: " *";
}

.help_text {
    @apply block text-zinc-500;
    font-size: 13px;
    font-weight: 400;
}

ul {
    list-style-type: disc;
    list-style-position: inside;
}

ol {
    list-style-type: decimal;
    list-style-position: inside;
}

a {
    &:not(.btn) {
        @apply text-link-unvisited underline;
    }
}

a:visited {
    &:not(.btn) {
        @apply text-link-visited;
    }
}

.btn {
    @apply block text-center rounded border cursor-pointer;

    a {
        @apply text-inherit no-underline;
    }
}

.btn--primary {
    @apply bg-black border-none text-gray-50;
}

.btn--secondary {
    @apply bg-white border-2 text-black;
}

.btn--small {
    @apply px-3 py-2;
}

.btn--large {
    @apply px-6 py-4 w-fit place-self-center;
    font-size: 22px;
    font-weight: 700;
}

.form_errors {
    @apply text-red-500;
    font-size: 16px;
    font-weight: 700;
}

.field_with_errors {
    display: inline;
}
