/* codebycp OTP Login — frontend styles */
:root {
	--cbcp-primary: #1e1e2e;
	--cbcp-accent: #e8590c;
}

.cbcp-otp-box {
	max-width: 420px;
	margin: 1.25em auto;
	padding: 1.5em;
	border: 1px solid #e3e3e8;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(20, 20, 40, 0.06);
	font-size: 15px;
}

.cbcp-otp-title {
	margin: 0 0 0.9em;
	font-size: 1.2em;
	color: var(--cbcp-primary);
}

.cbcp-otp-row { margin: 0 0 0.8em; }

.cbcp-otp-phone-row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.cbcp-cc-wrap {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 0 8px;
	border: 1px solid #d5d5dd;
	border-radius: 8px;
	background: #f7f7fa;
	color: var(--cbcp-primary);
	font-weight: 600;
}

.cbcp-otp-box input[type="tel"],
.cbcp-otp-box input[type="text"],
.cbcp-otp-box input[type="email"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d5d5dd;
	border-radius: 8px;
	font-size: 15px;
	box-sizing: border-box;
}

.cbcp-cc-wrap .cbcp-cc {
	width: 44px !important;
	border: none !important;
	background: transparent !important;
	padding: 10px 0 !important;
	font-weight: 600;
}

.cbcp-otp-box input:focus {
	outline: none;
	border-color: var(--cbcp-accent);
	box-shadow: 0 0 0 3px rgba(232, 89, 12, 0.12);
}

.cbcp-btn {
	display: inline-block;
	width: 100%;
	padding: 11px 18px;
	border: none;
	border-radius: 8px;
	background: var(--cbcp-primary);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s ease, transform 0.1s ease;
}

.cbcp-btn:hover { opacity: 0.92; }
.cbcp-btn:active { transform: translateY(1px); }
.cbcp-btn:disabled { opacity: 0.55; cursor: not-allowed; }

.cbcp-verify-btn { background: var(--cbcp-accent); }

.cbcp-otp-inputs {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin: 0.8em 0;
}

.cbcp-digit {
	width: 44px !important;
	height: 50px;
	text-align: center;
	font-size: 20px !important;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--cbcp-primary);
}

.cbcp-otp-sentmsg {
	text-align: center;
	color: #555;
	margin: 0 0 0.3em;
	font-size: 0.92em;
}

.cbcp-otp-timer {
	text-align: center;
	font-size: 0.88em;
	color: #777;
	margin: 0 0 0.8em;
}

.cbcp-otp-actions {
	display: flex;
	justify-content: space-between;
	margin: 0.8em 0 0;
	font-size: 0.9em;
}

.cbcp-otp-actions a { color: var(--cbcp-accent); text-decoration: none; }
.cbcp-cooldown { color: #999; font-size: 0.9em; }

.cbcp-otp-msg { margin: 0.8em 0 0; font-size: 0.92em; min-height: 1.2em; }
.cbcp-otp-msg.cbcp-ok { color: #2f9e44; }
.cbcp-otp-msg.cbcp-err,
.cbcp-otp-timer.cbcp-err { color: #d6336c; }

.cbcp-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0;
}

.cbcp-otp-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 1.2em 0;
	color: #999;
	font-size: 0.85em;
}

.cbcp-otp-divider::before,
.cbcp-otp-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #e3e3e8;
}

/* Checkout inline variant */
.cbcp-checkout-otp { max-width: 100%; margin: 1em 0; }
.cbcp-checkout-otp.cbcp-verified { border-color: #2f9e44; background: #f4fcf6; }
.cbcp-checkout-otp h4 { margin-top: 0; }

@media (max-width: 480px) {
	.cbcp-otp-box { padding: 1.1em; }
	.cbcp-digit { width: 38px !important; height: 46px; font-size: 18px !important; }
}
