@font-face {
    font-family: AdihausDIN;
    src: url('../fonts/adidas/AdihausDIN-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: AdihausDIN;
    src: url('../fonts/adidas/AdihausDIN-Medium.woff') format('woff');
    font-weight: 500 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: AdihausDIN;
    src: url('../fonts/adidas/AdihausDIN-Bold.woff') format('woff');
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: adidasFG;
    src: url('../fonts/adidas/adidasFG-CompressedBold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: AdihausDIN, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: adidasFG, sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
}

h1, .fi-header-heading, .fi-simple-header-heading {
    font-size: 32px;
}

h2 {
    font-size: 24px;
}

.service-health {
    width: 100%;
    text-align: left;
}

.service-health caption {
    text-align: left;
    padding-bottom: 16px;
}

.service-health th, .service-health td {
    padding-block: 12px;
}

.toolkit-form, .invitation form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px 16px;
}

.toolkit-form label, .invitation label, .composer label {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.toolkit-form input, .toolkit-form select, .toolkit-form textarea, .roster select, .composer textarea, .invitation input {
    border: 1px solid #c4c4c4;
    border-radius: 6px;
    padding: 6px 10px;
    background: #fff;
}

.composer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 16px;
}

.composer textarea {
    width: 100%;
}

.roster {
    width: 100%;
    text-align: left;
}

.roster th, .roster td {
    padding: 8px 12px 8px 0;
    vertical-align: top;
}

.roster td label {
    display: block;
}

.campaign-list li, .thread li {
    padding-block: 8px;
}

.invitation main {
    max-width: 420px;
    margin: 96px auto;
    padding: 0 16px;
}

.invitation form {
    flex-direction: column;
    align-items: stretch;
}

.invitation button {
    padding: 8px 12px;
    border-radius: 6px;
    background: #000;
    color: #fff;
}

.toolkit-table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
.toolkit-table th, .toolkit-table td { text-align: left; padding: .4rem .6rem; border-bottom: 1px solid rgb(0 0 0 / .08); }
.toolkit-table input[type=number] { width: 6rem; }
