.mhp-form-success {
    border: 1px solid #198700;
    padding: 15px;
}

.mhp-form-errors {
    border: 1px solid #870000;
    padding: 15px;
    padding-left: 30px !important;
}

.mhp-form {
    border: 1px solid #c0c0c0;
    padding: 15px;
    position: relative;
    display: flex;
    gap: 10px;
    flex-direction: column;
    border-radius: 12px;
}

.mhp-form--multipage {
}

.mhp-form--initiated.mhp-form--multipage::before {
    position: absolute;
    right: 15px;
    top: 15px;
    font-size: 90%;
    color: #777;
    content: 'Schritt ' attr(data-current-page) ' von ' attr(data-max-pages);
}

.mhp-form-multipage-page {
    border: none;
    margin: 0;
    font-size: 18px;
    display: flex;
    flex-direction: column;
    gap: 55px;
    border-radius: 12px;
}

.mhp-form-multipage-page-buttons,
.mhp-form--initiated .mhp-form-multipage-page,
.mhp-form-multipage-page:first-of-type .mhp-form-multipage-page-button-prev {
    display: none;
}

.mhp-form-condition--hidden {
    display: none !important;
}

.mhp-form--initiated .mhp-form-multipage-page.mhp-form-multipage-page--active,
.mhp-form--initiated .mhp-form-multipage-page-buttons {
    display: flex;
}

.mhp-form-field-label,
.mhp-form-field {
    display: block;
}

.mhp-form-field-label {
    margin-bottom: 1px;
    font-weight: bold;
}

.mhp-form-field-label.mhp-form-field-label--required::after {
    content: '*';
    vertical-align: top;
    line-height: 1;
    color: red;
}

.mhp-form-field input[type="text"],
.mhp-form-field input[type="tel"],
.mhp-form-field input[type="number"],
.mhp-form-field input[type="email"],
.mhp-form-field input[type="url"],
.mhp-form-field input[type="password"],
.mhp-form-field input[type="search"],
.mhp-form-field input[type="date"],
.mhp-form-field input[type="datetime-local"],
.mhp-form-field select,
.mhp-form-field textarea {
    font-size: 1rem;
    line-height: 1;
    padding: .5rem;
    display: block;
    box-sizing: border-box;
    border: 1px solid #ccc;
    height: auto;
    min-width: 75px;
    width: 100%;
    border-radius: 8px;
}

.mhp-form-field textarea {
    height: auto;
    resize: vertical;
}

.mhp-form-field-radio-item,
.mhp-form-field-checkbox-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.mhp-form-field-radio-item:last-child,
.mhp-form-field-checkbox-item:last-child {
    margin-right: auto;
}

.mhp-form-field-rating {
    width: 100%;
}

.mhp-form-field-rating-radios {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 10px;
}

.mhp-form-field-rating-radios input {
    display: none;
}

.mhp-form-field-rating-radios label {
    height: 64px;
    flex-grow: 1;
    filter: grayscale(1);
    transition: all .2s ease;
    cursor: pointer;
}

.mhp-form-field-rating-radios label::before {
    content: '';
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 auto;
    background-color: #FDCC0D;
    transition: all .2s ease;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.mhp-form-field-rating-radios label:hover::before,
.mhp-form-field-rating-radios label:focus::before {
    background-color: #FFDF00;
}

.mhp-form-field-rating-radios input:checked ~ label,
.mhp-form-field-rating-radios label:hover,
.mhp-form-field-rating-radios label:focus,
.mhp-form-field-rating-radios label:hover ~ label,
.mhp-form-field-rating-radios label:focus ~ label {
    filter: none;
}

.mhp-form-field-rating-radios label span {
    visibility: hidden;
}

.mhp-form-field-rating-labels {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 5px;
}

.mhp-form-field-rating-labels--max {
    margin-left: auto;
}

.mhp-form-multipage-page {
    gap: 15px;
    flex-direction: column;
}

.mhp-form-multipage-page-title,
.mhp-form-multipage-page-subtitle {
    text-align: center;
}

.mhp-form-multipage-page-title {
    font-size: 1.2rem;
    text-align: left;
    font-weight: bold;
}

.mhp-form-multipage-page-subtitle {
    margin-top: -5px;
}

.mhp-form-multipage-page-fields {
    padding: 2rem;
    display: flex;
    gap: 15px;
    justify-content: center;
    width: 100%;
}

.mhp-form-multipage-page-fields--as-column {
    flex-direction: column;
}

.mhp-form-multipage-page-fields .mhp-form-field {
    flex-grow: 1;
}

.mhp-form-multipage-page-fields[data-fields="1"] > .mhp-form-field-input {
    max-width: 350px;
    width: 100%;
}

.mhp-form-multipage-page-fields[data-fields="1"] > .mhp-form-field-radios,
.mhp-form-multipage-page-fields[data-fields="1"] > .mhp-form-field-checkboxes {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 100%;
    flex-grow: 0;
}

.mhp-form-button {
    padding: 20px 40px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: bold;
}

.mhp-form-multipage-page-buttons {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.mhp-form-multipage-page-buttons > .mhp-form-button {
    width: 50%;
}

.mhp-form-multipage-page-button-next {
    margin-left: auto;
}

.mhp-form-yes-no-dependent-group {
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #ccc;
}

.mhp-form-yes-no-dependent-group > .mhp-form-field-radios {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mhp-form-yes-no-dependent-group > .mhp-form-field-radios > label {
    margin-right: auto;
}

.mhp-form-yes-no-dependent-group > .mhp-form-field-radios > .mhp-form-field-radio-item:last-child {
    margin-right: 0;
}

.mhp-form-yes-no-dependent-group-fields {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin-top: 10px;
}

.mhp-form-yes-no-dependent-group-fields > * {
    grid-column: span 6;
}
