.input__required,
.select__required { color: var(--color-error); }

.input__inner,
.select__inner { position: relative; }

.input,
.select,
.input__field,
.select__field,
.input-text {
    display: block;
    width: 100%;
}

.input__label,
.input__field,
.input-text {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.input__label,
.select__label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 1rem 1.5rem;
    color: var(--color-default);
    transition: all .2s;
    pointer-events: none;
}

.input__field,
.select__field,
.input-text:not(.qty) {
    padding: 0.75rem 1.5rem;
    color: var(--color-dark);
    background: var(--color-white);
    border: 1px solid var(--color-white);
    border-radius: var(--border-radius-sm);
    transition: all .2s;
}

.select__field {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 2.75rem;
    cursor: pointer;
}

.select__inner::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0.75rem;
    height: 0.75rem;
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1 1.5L6 6.5L11 1.5" stroke="%231A1A1A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateY(-50%);
    pointer-events: none;
    content: '';
}
.account-orders.bgc-white .input__field,
.account-orders.bgc-white .input-text,
.account-orders.bgc-white .select__field,
.account-orders.bgc-white .select .select2-container--default .select2-selection--single {
    background: transparent;
    border: 1px solid var(--color-medium-light);
}

.input__field:-webkit-autofill,
.input__field:-webkit-autofill:focus,
.input__field:-webkit-autofill:hover,
.input__field:-webkit-autofill:active,
.input-text:-webkit-autofill,
.input-text:-webkit-autofill:focus,
.input-text:-webkit-autofill:hover,
.input-text:-webkit-autofill:active {
    background-color: var(--color-white) !important;
    -webkit-text-fill-color: var(--color-default) !important;
    transition: background-color 9999s ease-in-out 0s;
}

.input:has(.input__field:focus) .input__label,
.input:has(.input__field:not(:placeholder-shown)) .input__label,
.select:has(.select__field:focus) .select__label,
.select:has(.select__field:valid) .select__label,
.select:has(.select2-container--focus) .select__label,
.select:has(.select2-container--open) .select__label {
    padding-block: 0.5rem;
    font-size: 0.75rem;
    line-height: 1rem;
    top: -1rem;
}

.select .select2-container {
    display: block;
    width: 100% !important;
}

.select .select2-container--default .select2-selection--single {
    min-height: 3.25rem;
    margin: 0;
}

.select .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0.75rem 2.75rem 0.75rem 1.5rem;
}

.select .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: transparent;
}

.select .select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

.checkbox,
.radio,
.wpcf7-acceptance,
.wpcf7-checkbox,
.wpcf7-radio { position: relative; }

.checkbox,
.radio,
.wpcf7-acceptance label,
.wpcf7-checkbox label,
.wpcf7-radio label {
    display: block;
    overflow: hidden;
    cursor: pointer;
}

.wpcf7-acceptance span,
.wpcf7-checkbox span,
.wpcf7-radio .wpcf7-list-item { display: block; }

.checkbox__input,
.checkbox:has( .checkbox__label ) input[type="checkbox"],
.radio__input,
.wpcf7-acceptance input[type="checkbox"],
.wpcf7-checkbox input[type="checkbox"],
.wpcf7-radio input[type="radio"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}

.checkbox__label,
.radio__label,
.wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-radio .wpcf7-list-item-label {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: 0.875rem;
    line-height: 1.4;
}

.checkbox__label::before,
.radio__label::before,
.wpcf7-acceptance .wpcf7-list-item-label::before,
.wpcf7-checkbox .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item-label::before {
    flex-shrink: 0;
    width: var(--checkbox-size);
    height: var(--checkbox-size);
    border: 1px solid var(--color-border-input);
    border-radius: var(--border-radius-xs);
    background: transparent;
    transition: background-color .2s, border-color .2s, border-width .1s;
    content: '';
}

.radio__label::before,
.wpcf7-radio .wpcf7-list-item-label::before { border-radius: 50%; }

.checkbox__label-text a,
.radio__label-text a,
.wpcf7-acceptance .wpcf7-list-item-label a,
.wpcf7-checkbox .wpcf7-list-item-label a {
    font-weight: 700;
}

.checkbox__input:checked + .checkbox__label::before,
.checkbox input:checked + .checkbox__label::before,
.wpcf7-acceptance input:checked + .wpcf7-list-item-label::before,
.wpcf7-checkbox input:checked + .wpcf7-list-item-label::before {
    background-color: var(--color-dark);
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M4.27004 8C4.0476 8.00007 3.8342 7.91788 3.67652 7.77142L0.245842 4.56629C0.0884322 4.41934 0 4.22004 0 4.01222C0 3.80441 0.0884322 3.6051 0.245842 3.45816C0.403252 3.31121 0.616746 3.22865 0.839358 3.22865C1.06197 3.22865 1.27546 3.31121 1.43287 3.45816L4.27004 6.10674L10.5405 0.253024C10.6174 0.175176 10.7103 0.112645 10.8138 0.0691888C10.9172 0.0257328 11.0289 0.00225036 11.1423 0.000153953C11.2557 -0.00194245 11.3684 0.0173903 11.4735 0.0569897C11.5787 0.096589 11.6742 0.155637 11.7543 0.230582C11.8344 0.305527 11.8975 0.394823 11.9397 0.493097C11.9818 0.591371 12.0023 0.696594 11.9998 0.802438C11.9973 0.908283 11.9719 1.01256 11.9251 1.109C11.8783 1.20545 11.8111 1.29206 11.7276 1.36364L4.86621 7.77142C4.7074 7.9178 4.49322 7.99992 4.27004 8Z" fill="%23fff"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.5rem 0.5rem;
    border-color: var(--color-dark);
}

.radio__input:checked + .radio__label { font-weight: 500; }

.radio__input:checked + .radio__label::before,
.wpcf7-radio input:checked + .wpcf7-list-item-label::before {
    border-color: var(--color-dark);
    border-width: 2px;
    background: radial-gradient(circle, var(--color-dark) 0%, var(--color-dark) 40%, transparent 40%);
}

.checkbox__input:disabled + .checkbox__label,
.radio__input:disabled + .radio__label { opacity: 0.5; }

.error-tip,
.wpcf7-not-valid-tip {
    display: block;
    margin-top: 0.5rem;
    color: var(--color-error);
    font-size: 0.75rem;
}

.input.input-error .input__label,
.select.input-error .select__label,
.checkbox.input-error .checkbox__label,
.radio.input-error .radio__label { color: var(--color-error); }

.form-row,
.woocommerce-input-wrapper { display: block; }

.form-row { margin-bottom: 1rem; }

.form-row .input-wrap label {
    position: absolute;
    top: 1rem;
    left: 1.5rem;
    pointer-events: none;
    transition: all .2s;
}

.form-row .input-wrap:has(.input-text:not(:placeholder-shown)) label {
    top: 0;
    font-size: 0.75rem;
}

.form-row label .required,
.form-row label abbr.required {
    margin-left: 0.125rem;
    text-decoration: none;
}

form.checkout .optional,
form.checkout .parki-field--entity .required,
form.checkout .parki-field--entity abbr.required {
    display: none !important;
}

@media ( hover: hover ) {
    .checkbox:hover .checkbox__input:not(:checked) ~ .checkbox__label::before,
    .radio:hover .radio__input:not(:checked) ~ .radio__label::before,
    .wpcf7-acceptance:hover .wpcf7-list-item-label::before,
    .wpcf7-checkbox .wpcf7-list-item:hover .wpcf7-list-item-label::before,
    .wpcf7-radio label:hover input:not(:checked) + .wpcf7-list-item-label::before {
        border-color: var(--color-dark);
        border-width: 2px;
    }

    .checkbox__label-text a:hover,
    .radio__label-text a:hover,
    .wpcf7-acceptance .wpcf7-list-item-label a:hover,
    .wpcf7-checkbox .wpcf7-list-item-label a:hover { text-decoration: underline; }

    .input-text:not(.qty):hover:not(:focus),
    .input__field:hover:not(:focus),
    .select2:not(.select2-container--open):hover .select2-selection { box-shadow: 0 0 0 1px var(--color-medium-light); }

    .radio:hover .radio__label::before,
    .checkbox:hover .checkbox__label::before { border-color: var(--color-dark); }
}

.checkout-inline-error-message {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    line-height: 0.875rem;
    color: var(--color-error);
}

.wpcf7-response-output {
    margin-top: 0.5rem;
    text-align: center;
}

.wpcf7-form.submitting .wpcf7-submit {
    pointer-events: none;
}


@media (max-width: 767px) {
    .form-row {
        margin-bottom: 0.75rem;
    }

    .checkbox__label,
    .radio__label,
    .wpcf7-acceptance .wpcf7-list-item-label,
    .wpcf7-checkbox .wpcf7-list-item-label,
    .wpcf7-radio .wpcf7-list-item-label {
        line-height: 1.43;
    }

    .input__field,
    .select__field,
    .input-text:not(.qty) {
        padding: 1rem 1.5rem 0.875rem;
    }

    .form-row label .required, .form-row label abbr.required {
        margin-left: 0;
    }

    .wpcf7-form-control.wpcf7-checkbox {
        row-gap: 0.5rem;
    }
}