@font-face {
    font-family: "romul";
    src: url("../fonts/romul.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "PT Serif";
    src: url("../fonts/PTSerif-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

body.gradient {}

p,
label,
.modal-body,
.rating-word,
.comment textarea,
.input,
.input input,
.success-msg a {
    color: #7f7f7f;
    border-color: #7f7f7f;
}

span,
a,
.top h1,
.top p {
    color: #000000;
}

body.gradient {
    background: #eff2f5 !important;
}

.rating-word.error {}

.input input.error,
.comment textarea.error,
select.error {}

input,
textarea,
select {
    color: #7f7f7f !important;
    border-color: #7f7f7f !important;
    font-family: "PT Serif", serif !important;
}

input::placeholder,
textarea::placeholder {
    color: #7f7f7f !important;
}

input::-webkit-input-placeholder {
    color: #7f7f7f !important;
}

input::-moz-placeholder {
    color: #7f7f7f !important;
}

input:-moz-placeholder {
    color: #7f7f7f !important;
}

input:-ms-input-placeholder {
    color: #7f7f7f !important;
}

textarea::-webkit-input-placeholder {
    color: #7f7f7f !important;
}

textarea::-moz-placeholder {
    color: #7f7f7f !important;
}

textarea:-moz-placeholder {
    color: #7f7f7f !important;
}

textarea:-ms-input-placeholder {
    color: #7f7f7f !important;
}

.radio-buttons__text_radio,
.radio-checkboxes-buttons__text_checkbox {
    border-color: black !important;
}

span.voter-item-name.error,
span.voter-item-list-name.error,
span.form-checkboxes-field-name.error,
span.form-radio-field-name.error {}

.vote-default-layer-text_btn:hover,
.vote-default-layer-text_btn.active {
    background: black;
}

.vote-default-layer-text_btn {
    color: black;
    border-color: black;
}

.modal-body {}

.button-submit {
    width: 500px;
    font-family: "PT Serif", serif !important;
    font-size: 20px;
    display: block;
    margin: 20px auto 0 auto;
    border-color: black;
    text-transform: none !important;
    letter-spacing: normal;
}

.submit span {
    text-transform: none !important;
    font-family: "PT Serif", serif !important;
    font-size: 20px;
}

.radio-buttons__text {
    display: flex;
}

.radio-buttons__list_block .radio-buttons__item {
    width: 100%;
}

.radio-buttons__list {
    display: flex;
    flex-wrap: wrap;
}

/*.form-field[type="date"]:last-child{
    filter: invert(1);
    border-color: #000;
    color: #000;
    font-weight: 600;
}*/

/* Checkbox and text in one line */
.radio-buttons__text_desc {
    display: inline;
    white-space: nowrap;
    font-family: "PT Serif", serif;
    font-size: 14px;
    line-height: 1.4;
}

.radio-checkboxes-buttons__text {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
}

.radio-checkboxes-buttons__text_checkbox {
    flex-shrink: 0;
    margin-top: 2px;
}

.vote-checkboxes-col {
    margin-bottom: 0;
    padding: 15px 0;
}

.form-field[name="comment"] {
    height: 100px;
}

.radio-checkboxes-buttons__input:checked+label.radio-checkboxes-buttons__text .radio-checkboxes-buttons__text_checkbox:before,
.radio-checkboxes-buttons__item_checked .radio-checkboxes-buttons__text_checkbox::before {
    background: black !important;
}

.top h1 {
    font-family: "romul", sans-serif;
    font-weight: 400;
    font-size: 47px;
}

h2 {
    font-family: "PT Serif", sans-serif;
    font-weight: 575;
    font-size: 20px;
}

.form-field {
    background-color: #ffffff !important;
    border: none !important;
}

.main {
    width: 500px;
    margin: 0 auto;
    margin-top: 50px;
}

.comment {
    width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.comment textarea {
    width: 100%;
    box-sizing: border-box;
}

.input[data-field-block="5"],
.input[data-field-block="6"],
.input[data-field-block="7"],
.input[data-field-block="8"] {
    display: inline-block;
    width: 50%;
    box-sizing: border-box;
    margin-top: 10px;
    vertical-align: top;
    color: #7f7f7f;
}

.input[data-field-block="5"],
.input[data-field-block="7"] {
    padding-right: 5px;
}

.input[data-field-block="6"],
.input[data-field-block="8"] {
    padding-left: 5px;
}

.input[data-field-block="5"] input,
.input[data-field-block="6"] input,
.input[data-field-block="7"] input,
.input[data-field-block="8"] input {
    width: 100%;
    box-sizing: border-box;
}

.top {
    width: 500px;
    margin: 0 auto;
}

.form-row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.form-row .input {
    flex: 1;
    min-width: 0;
}

@media screen and (max-width: 768px) {
    .form-row {
        flex-direction: column;
    }

    .form-row .input {
        width: 100%;
        margin-bottom: 10px;
    }
}

/* Mobile Responsive Styles */
@media screen and (max-width: 768px) {
    .main {
        width: 90%;
        margin: 20px auto;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .top {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    .top h1 {
        font-size: 32px;
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .top2 h2 {
        font-size: 16px;
        line-height: 1.4;
        margin-bottom: 20px;
    }

    .comment {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .button-submit {
        width: 100%;
        font-size: 18px;
        padding: 15px;
        margin: 15px auto 0 auto;
    }

    /* Form fields mobile adaptation */
    .input[data-field-block="5"],
    .input[data-field-block="6"],
    .input[data-field-block="7"],
    .input[data-field-block="8"] {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        margin-bottom: 10px;
    }

    .form-field {
        font-size: 16px;
        padding: 12px;
    }

    /* Checkbox adaptation for mobile */
    .radio-checkboxes-buttons__text_checkbox {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
    }

    .radio-checkboxes-buttons__text {
        align-items: flex-start;
        gap: 10px;
    }

    .radio-buttons__text_desc {
        white-space: normal;
        word-wrap: break-word;
    }

    .vote-checkboxes-col {
        padding: 10px 0;
    }

    .radio-checkboxes-buttons__text_checkbox:before {
        width: calc(100% - 12px);
        height: calc(100% - 12px);
    }
}

@media screen and (max-width: 480px) {
    .main {
        width: 95%;
        margin: 15px auto;
        padding: 0 10px;
    }

    .top h1 {
        font-size: 28px;
    }

    .top2 h2 {
        font-size: 14px;
    }

    .button-submit {
        font-size: 16px;
        padding: 12px;
    }

    .form-field {
        font-size: 14px;
        padding: 10px;
    }

    /* Smaller checkbox for very small screens */
    .radio-checkboxes-buttons__text_checkbox {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
    }

    .radio-checkboxes-buttons__text {
        gap: 8px;
    }
}