/* =====================================
   MODERN FORM CONTROLS
===================================== */

/* LABEL */
.form-label {
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 600;
	color: #334155;
}

/* FORM GROUP */
.form-group-modern {
	margin-bottom: 18px;
}

/* =====================================
   INPUT GROUP
===================================== */
.input-group-text {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f8fafc;
	border: 1px solid #dbe3ef;
	border-right: 0;
	color: #64748b;
	border-radius: 10px 0 0 10px;
}

.input-group-text i {
	font-size: 17px;
}

/* =====================================
   INPUT
===================================== */
.form-control {
	height: 44px;
	border: 1px solid #dbe3ef;
	border-radius: 10px;
	padding: 0 14px;
	font-size: 15px;
	color: #1e293b;
	background: #fff;
	transition: .2s ease;
}

.input-group .form-control {
	border-radius: 0 10px 10px 0;
}

.form-control:hover {
	border-color: #bfdbfe;
}

.form-control:focus {
	border-color: #2563eb;
	box-shadow: 0 0 0 .25rem rgba(37, 99, 235, .12);
}

.form-control::placeholder {
	color: #94a3b8;
}

/* =====================================
   TEXTAREA
===================================== */
textarea.form-control {
	min-height: 110px;
	padding: 12px 14px;
	line-height: 1.5;
	resize: vertical;
	border-radius: 10px;
}

/* =====================================
   SELECT
===================================== */
.form-select {
	height: 44px;
	border-radius: 10px;
	border: 1px solid #dbe3ef;
	padding: 0 40px 0 14px;
	font-size: 15px;
	color: #1e293b;
}

.form-select:focus {
	border-color: #2563eb;
	box-shadow: 0 0 0 .25rem rgba(37, 99, 235, .12);
}

/* =====================================
   READONLY
===================================== */
.form-control[readonly] {
	background: #f8fafc;
	color: #64748b;
	cursor: default;
}

/* =====================================
   DISABLED
===================================== */
.form-control:disabled, .form-select:disabled {
	background: #f1f5f9;
	color: #94a3b8;
	cursor: not-allowed;
}

/* =====================================
   SEARCH INPUT
===================================== */
.input-search {
	position: relative;
}

.input-search i {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
}

.input-search .form-control {
	padding-left: 42px;
}

/* =====================================
   VALIDATION
===================================== */
.is-valid {
	border-color: #16a34a !important;
}

.is-invalid {
	border-color: #dc2626 !important;
}

.valid-feedback {
	font-size: 13px;
	color: #16a34a;
}

.invalid-feedback {
	font-size: 13px;
	color: #dc2626;
}

/* =====================================
   CHECKBOX / SWITCH
===================================== */
.form-check-input {
	width: 42px;
	height: 22px;
	cursor: pointer;
}

.form-check-input:checked {
	background-color: #2563eb;
	border-color: #2563eb;
}

.form-check-label {
	margin-left: 8px;
	font-size: 15px;
	color: #334155;
	cursor: pointer;
	user-select: none;
}

/* =====================================
   FILE INPUT
===================================== */
.form-control[type=file] {
	padding: 8px;
	height: auto;
	border-radius: 10px;
}