/* NKP forms - kieu o nhap lieu / select2 cua Parkview, CHI ap dung trong khoi .nkp-form
   hoac tren trang CPT NKP (body.nkp-skin). Khong anh huong form o noi khac cua Aussmile. */

body.nkp-skin input[type="text"],
.nkp-form input[type="text"],
body.nkp-skin input[type="email"],
.nkp-form input[type="email"],
body.nkp-skin input[type="password"],
.nkp-form input[type="password"],
body.nkp-skin input[type="tel"],
.nkp-form input[type="tel"],
body.nkp-skin input[type="number"],
.nkp-form input[type="number"],
body.nkp-skin input[type="search"],
.nkp-form input[type="search"],
body.nkp-skin input[type="url"],
.nkp-form input[type="url"],
body.nkp-skin input[type="date"],
.nkp-form input[type="date"],
body.nkp-skin input[type="datetime-local"],
.nkp-form input[type="datetime-local"],
body.nkp-skin input[type="time"],
.nkp-form input[type="time"],
body.nkp-skin input[type="month"],
.nkp-form input[type="month"],
body.nkp-skin input[type="week"],
.nkp-form input[type="week"],
body.nkp-skin textarea,
.nkp-form textarea,
body.nkp-skin select:not(.select2-hidden-accessible),
.nkp-form select:not(.select2-hidden-accessible) {
    height: var(--nkp-input-height);
    padding: var(--nkp-input-padding);
    border: var(--nkp-input-border-width) solid var(--nkp-input-border-color);
    border-radius: var(--nkp-input-border-radius);
    background-color: var(--nkp-input-background);
    font-size: var(--nkp-input-font-size);
    font-weight: 500;
    color: var(--nkp-input-text-color);
    box-shadow: none;
    outline: none;
    transition: border-color 0.25s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

body.nkp-skin textarea,
.nkp-form textarea {
    height: auto;
    min-height: var(--nkp-textarea-min-height);
    padding: 14px 16px;
    line-height: 1.6;
    resize: vertical;
}

body.nkp-skin input::placeholder,
.nkp-form input::placeholder,
body.nkp-skin textarea::placeholder,
.nkp-form textarea::placeholder {
    color: var(--nkp-input-placeholder-color);
    font-weight: 400;
    opacity: 1;
}

body.nkp-skin input[type="text"]:focus,
.nkp-form input[type="text"]:focus,
body.nkp-skin input[type="email"]:focus,
.nkp-form input[type="email"]:focus,
body.nkp-skin input[type="password"]:focus,
.nkp-form input[type="password"]:focus,
body.nkp-skin input[type="tel"]:focus,
.nkp-form input[type="tel"]:focus,
body.nkp-skin input[type="number"]:focus,
.nkp-form input[type="number"]:focus,
body.nkp-skin input[type="search"]:focus,
.nkp-form input[type="search"]:focus,
body.nkp-skin input[type="url"]:focus,
.nkp-form input[type="url"]:focus,
body.nkp-skin input[type="date"]:focus,
.nkp-form input[type="date"]:focus,
body.nkp-skin input[type="datetime-local"]:focus,
.nkp-form input[type="datetime-local"]:focus,
body.nkp-skin input[type="time"]:focus,
.nkp-form input[type="time"]:focus,
body.nkp-skin input[type="month"]:focus,
.nkp-form input[type="month"]:focus,
body.nkp-skin input[type="week"]:focus,
.nkp-form input[type="week"]:focus,
body.nkp-skin textarea:focus,
.nkp-form textarea:focus,
body.nkp-skin select:not(.select2-hidden-accessible):focus,
.nkp-form select:not(.select2-hidden-accessible):focus {
    border-color: var(--nkp-input-focus-border);
    box-shadow: none;
    background-color: var(--nkp-input-background);
    outline: none;
}

body.nkp-skin input[type="text"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="text"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="email"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="email"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="password"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="password"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="tel"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="tel"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="number"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="number"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="search"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="search"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="url"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="url"]:hover:not(:focus):not(:disabled),
body.nkp-skin input[type="date"]:hover:not(:focus):not(:disabled),
.nkp-form input[type="date"]:hover:not(:focus):not(:disabled),
body.nkp-skin textarea:hover:not(:focus):not(:disabled),
.nkp-form textarea:hover:not(:focus):not(:disabled),
body.nkp-skin select:not(.select2-hidden-accessible):hover:not(:focus):not(:disabled),
.nkp-form select:not(.select2-hidden-accessible):hover:not(:focus):not(:disabled) {
    border-color: #ccc;
}

body.nkp-skin input:disabled,
.nkp-form input:disabled,
body.nkp-skin textarea:disabled,
.nkp-form textarea:disabled,
body.nkp-skin select:disabled,
.nkp-form select:disabled {
    background-color: var(--nkp-input-disabled-bg);
    border-color: var(--nkp-input-border-color);
    color: #999;
    cursor: not-allowed;
    opacity: 0.7;
}

body.nkp-skin input.error,
.nkp-form input.error,
body.nkp-skin input.wpcf7-not-valid,
.nkp-form input.wpcf7-not-valid,
body.nkp-skin input.invalid,
.nkp-form input.invalid,
body.nkp-skin textarea.error,
.nkp-form textarea.error,
body.nkp-skin textarea.wpcf7-not-valid,
.nkp-form textarea.wpcf7-not-valid,
body.nkp-skin textarea.invalid,
.nkp-form textarea.invalid {
    border-color: var(--nkp-input-error-color);
}

body.nkp-skin input.valid,
.nkp-form input.valid,
body.nkp-skin input.wpcf7-valid,
.nkp-form input.wpcf7-valid,
body.nkp-skin textarea.valid,
.nkp-form textarea.valid,
body.nkp-skin textarea.wpcf7-valid,
.nkp-form textarea.wpcf7-valid {
    border-color: var(--nkp-input-success-color);
}

body.nkp-skin select:not(.select2-hidden-accessible),
.nkp-form select:not(.select2-hidden-accessible) {
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232a2a2a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 12px;
    cursor: pointer;
}

body.nkp-skin input[type="checkbox"],
.nkp-form input[type="checkbox"],
body.nkp-skin input[type="radio"],
.nkp-form input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0;
    margin-right: 10px;
    border: var(--nkp-input-border-width) solid var(--nkp-input-border-color);
    border-radius: var(--nkp-input-border-radius);
    background-color: var(--nkp-input-background);
    cursor: pointer;
    vertical-align: middle;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: all 0.2s ease;
}

body.nkp-skin input[type="radio"],
.nkp-form input[type="radio"] {
    border-radius: 50%;
}

body.nkp-skin input[type="checkbox"]:checked,
.nkp-form input[type="checkbox"]:checked,
body.nkp-skin input[type="radio"]:checked,
.nkp-form input[type="radio"]:checked {
    background-color: var(--nkp-input-focus-border);
    border-color: var(--nkp-input-focus-border);
}

body.nkp-skin input[type="checkbox"]:checked::after,
.nkp-form input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 6px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

body.nkp-skin input[type="radio"]:checked::after,
.nkp-form input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

body.nkp-skin input[type="checkbox"]:focus,
.nkp-form input[type="checkbox"]:focus,
body.nkp-skin input[type="radio"]:focus,
.nkp-form input[type="radio"]:focus {
    box-shadow: none;
    outline: none;
}

body.nkp-skin input[type="file"],
.nkp-form input[type="file"] {
    height: auto;
    padding: 12px 16px;
    border: var(--nkp-input-border-width) dashed var(--nkp-input-border-color);
    background-color: #fafafa;
    cursor: pointer;
}

body.nkp-skin input[type="file"]:hover,
.nkp-form input[type="file"]:hover {
    border-color: var(--nkp-input-focus-border);
    background-color: rgba(4, 38, 160, 0.02);
}

body.nkp-skin input[type="file"]:focus,
.nkp-form input[type="file"]:focus {
    border-style: solid;
    border-color: var(--nkp-input-focus-border);
    box-shadow: none;
}

body.nkp-skin label,
.nkp-form label,
body.nkp-skin .form-row label,
.nkp-form .form-row label {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 600;
    color: var(--nkp-input-text-color);
}

body.nkp-skin label .required,
.nkp-form label .required,
body.nkp-skin .form-row .required,
.nkp-form .form-row .required {
    color: var(--nkp-input-error-color);
    margin-left: 2px;
}

body.nkp-skin .form-row,
.nkp-form .form-row,
body.nkp-skin p.form-row,
.nkp-form p.form-row {
    margin-bottom: 20px;
}

body.nkp-skin .wpcf7-form input[type="text"],
.nkp-form .wpcf7-form input[type="text"],
body.nkp-skin .wpcf7-form input[type="email"],
.nkp-form .wpcf7-form input[type="email"],
body.nkp-skin .wpcf7-form input[type="tel"],
.nkp-form .wpcf7-form input[type="tel"],
body.nkp-skin .wpcf7-form input[type="url"],
.nkp-form .wpcf7-form input[type="url"],
body.nkp-skin .wpcf7-form input[type="number"],
.nkp-form .wpcf7-form input[type="number"],
body.nkp-skin .wpcf7-form textarea,
.nkp-form .wpcf7-form textarea {
    width: 100%;
}

body.nkp-skin .wpcf7-form .wpcf7-form-control-wrap,
.nkp-form .wpcf7-form .wpcf7-form-control-wrap {
    display: block;
}

body.nkp-skin .wpcf7-not-valid-tip,
.nkp-form .wpcf7-not-valid-tip {
    color: var(--nkp-input-error-color);
    font-size: 13px;
    margin-top: 6px;
    display: block;
}

body.nkp-skin .select2-container--default .select2-selection--single,
.nkp-form .select2-container--default .select2-selection--single {
    height: var(--nkp-select2-height);
    padding: 0 16px;
    border: var(--nkp-input-border-width) solid var(--nkp-input-border-color);
    border-radius: var(--nkp-select2-border-radius);
    background-color: #fff;
    box-shadow: none;
    transition: all 0.25s ease;
}

body.nkp-skin .select2-container--default.select2-container--focus .select2-selection--single,
.nkp-form .select2-container--default.select2-container--focus .select2-selection--single,
body.nkp-skin .select2-container--default.select2-container--open .select2-selection--single,
.nkp-form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--nkp-input-focus-border);
    box-shadow: none;
    outline: none;
}

body.nkp-skin .select2-container--default .select2-selection--single .select2-selection__rendered,
.nkp-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(var(--nkp-select2-height) - 4px);
    padding-left: 0;
    padding-right: 36px;
    font-size: var(--nkp-input-font-size);
    font-weight: 500;
    color: var(--nkp-input-text-color);
}

body.nkp-skin .select2-container--default .select2-selection--single .select2-selection__placeholder,
.nkp-form .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--nkp-input-placeholder-color);
    font-weight: 400;
}

body.nkp-skin .select2-container--default .select2-selection--single .select2-selection__arrow,
.nkp-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(var(--nkp-select2-height) - 4px);
    width: 36px;
    right: 8px;
}

body.nkp-skin .select2-container--default .select2-selection--single .select2-selection__arrow b,
.nkp-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--nkp-input-text-color) transparent transparent transparent;
    border-width: 6px 5px 0 5px;
    margin-left: -6px;
    margin-top: -3px;
    transition: transform 0.2s ease;
}

body.nkp-skin .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b,
.nkp-form .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: var(--nkp-input-focus-border) transparent transparent transparent;
    transform: rotate(180deg);
    margin-top: -6px;
}

body.nkp-skin .select2-container--default .select2-selection--single .select2-selection__clear,
.nkp-form .select2-container--default .select2-selection--single .select2-selection__clear {
    position: absolute;
    right: 36px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    font-size: 18px;
    font-weight: 400;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    margin-right: 0;
    padding: 0;
}

body.nkp-skin .select2-container--default .select2-selection--single .select2-selection__clear:hover,
.nkp-form .select2-container--default .select2-selection--single .select2-selection__clear:hover {
    color: var(--nkp-input-error-color);
    background-color: rgba(233, 16, 16, 0.08);
}

body.nkp-skin .select2-container--default .select2-search--dropdown .select2-search__field,
.nkp-form .select2-container--default .select2-search--dropdown .select2-search__field {
    height: 40px;
    padding: 0 12px;
    border: var(--nkp-input-border-width) solid var(--nkp-input-border-color);
    border-radius: var(--nkp-select2-border-radius);
    font-size: 14px;
    box-shadow: none;
    transition: all 0.2s ease;
}

body.nkp-skin .select2-container--default .select2-search--dropdown .select2-search__field:focus,
.nkp-form .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--nkp-input-focus-border);
    box-shadow: none;
}

body.nkp-skin .select2-container--default .select2-results__option,
.nkp-form .select2-container--default .select2-results__option {
    padding: 12px 16px;
    font-size: var(--nkp-input-font-size);
    color: var(--nkp-input-text-color);
    transition: all 0.15s ease;
    border-left: 3px solid transparent;
    white-space: normal;
}

body.nkp-skin .select2-container--default .select2-results__option--highlighted[aria-selected],
.nkp-form .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--nkp-select2-option-hover);
    color: var(--nkp-input-text-color);
    border-left-color: var(--nkp-select2-option-selected);
}

body.nkp-skin .select2-container--default .select2-results__option[aria-selected="true"],
.nkp-form .select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--nkp-select2-option-hover);
    color: var(--nkp-select2-option-selected);
    font-weight: 600;
    border-left-color: var(--nkp-select2-option-selected);
}

body.nkp-skin .select2-results__message,
.nkp-form .select2-results__message {
    padding: 20px 16px;
    text-align: center;
    color: var(--nkp-input-placeholder-color);
    font-size: 14px;
}

body.nkp-skin .select2-container--default .select2-results__option--loading,
.nkp-form .select2-container--default .select2-results__option--loading {
    color: var(--nkp-input-placeholder-color);
}

body.nkp-skin .select2-container--default .select2-results__option--loading::after,
.nkp-form .select2-container--default .select2-results__option--loading::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    border: var(--nkp-input-border-width) solid var(--nkp-input-border-color);
    border-top-color: var(--nkp-input-focus-border);
    border-radius: 50%;
    animation: nkp-spin 0.6s linear infinite;
}

body.nkp-skin .select2-container--default.select2-container--disabled .select2-selection--single,
.nkp-form .select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #f5f5f5;
    border-color: var(--nkp-input-border-color);
    cursor: not-allowed;
    opacity: 0.7;
}

body.nkp-skin .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__rendered,
.nkp-form .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__rendered {
    color: #999;
}

body.nkp-skin .wpcf7-form .select2-container,
.nkp-form .wpcf7-form .select2-container {
    display: block;
}

body.nkp-skin .select2-dropdown,
.nkp-form .select2-dropdown {
    z-index: 1000000 !important;
    border: 1px solid var(--nkp-input-border-color);
    border-radius: var(--nkp-select2-border-radius);
    box-shadow: var(--nkp-select2-dropdown-shadow);
    background-color: #fff;
    width: max-content !important;
    min-width: 100% !important;
    max-width: 90vw;
    margin-left: -50px !important;
    margin-top: 40px !important;
}

body.nkp-skin .select2-container--open .select2-dropdown--below,
.nkp-form .select2-container--open .select2-dropdown--below {
    margin-top: 4px;
    border-top: 1px solid var(--nkp-input-border-color);
}

body.nkp-skin .select2-container--open .select2-dropdown--above,
.nkp-form .select2-container--open .select2-dropdown--above {
    margin-bottom: 4px;
    border-bottom: 1px solid var(--nkp-input-border-color);
}

body.nkp-skin .select2-container--open,
.nkp-form .select2-container--open {
    z-index: 1000000 !important;
}

@media (max-width: 768px) {
body.nkp-skin .form-row,
.nkp-form .form-row,
body.nkp-skin p.form-row,
.nkp-form p.form-row {
        margin-bottom: 16px;
    }

body.nkp-skin input[type="checkbox"],
.nkp-form input[type="checkbox"],
body.nkp-skin input[type="radio"],
.nkp-form input[type="radio"] {
        width: 22px;
        height: 22px;
    }

body.nkp-skin .select2-container--default .select2-selection--single,
.nkp-form .select2-container--default .select2-selection--single {
        padding: 0 12px;
    }

body.nkp-skin .select2-container--default .select2-results__option,
.nkp-form .select2-container--default .select2-results__option {
        padding: 14px 16px;
    }

body.nkp-skin .select2-dropdown,
.nkp-form .select2-dropdown {
        margin-left: 0 !important;
        margin-top: 0 !important;
        width: auto !important;
        min-width: 220px !important;
        max-width: 90vw !important;
    }

body.nkp-skin .select2-container--open .select2-dropdown--below,
.nkp-form .select2-container--open .select2-dropdown--below {
        margin-top: 4px !important;
    }
}
