.texto-otp-widget {
	border: 1px solid #ddd;
	padding: 20px;
	margin: 15px 0;
	border-radius: 6px;
	background: #fff;
}
.texto-otp-widget h3 {
	margin-top: 0;
}
.texto-otp-widget label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}
.texto-otp-widget input,
.texto-otp-widget select {
	padding: 10px;
	box-sizing: border-box;
}
.texto-otp-widget .texto-otp-code {
	width: 100%;
	max-width: 420px;
	margin-bottom: 10px;
}
.texto-otp-phone-fields {
	display: flex;
	gap: 8px;
	align-items: stretch;
	max-width: 520px;
	margin-bottom: 10px;
}
.texto-otp-phone-fields .texto-otp-dial-code,
.texto-otp-phone-combo .texto-otp-dial-code {
	flex: 0 0 210px;
	max-width: 210px;
	width: 210px;
	margin-bottom: 0;
}
.texto-otp-phone-fields .texto-otp-phone,
.texto-otp-phone-fields input[type="tel"],
.texto-otp-phone-combo input[type="tel"] {
	flex: 1 1 auto;
	width: auto;
	max-width: none;
	margin-bottom: 0;
}
.woocommerce-checkout .texto-otp-phone-fields,
.woocommerce-form-register .texto-otp-phone-fields {
	display: flex;
	gap: 8px;
	max-width: 100%;
}
.texto-otp-widget button {
	padding: 10px 16px;
	cursor: pointer;
}
.texto-otp-widget button:disabled {
	opacity: .6;
	cursor: not-allowed;
}
.texto-otp-code-row {
	margin-top: 12px;
}
.texto-otp-message {
	margin-bottom: 12px;
	font-weight: 600;
}
.texto-otp-message.success {
	color: #16803c;
}
.texto-otp-message.error {
	color: #b42318;
}
.texto-otp-phone-row,
.texto-otp-code-row {
	margin-bottom: 10px;
}
