/* Fixes the vertical alignment of the title selectpicker placeholder */
.filter-option-inner {
	margin-top: 5px;
}

#resultdisp {
	background-color: #f8d7da;
	display: none;
	color: red;
	font-size: 14px;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 10px;
	border: 1px solid red;
	border-radius: 5px;
}

/* Field to feedback vertical spacing fix */
.reg-box .login-form .form-control {
	margin-bottom: 0px;
}

/* Error message font size fix */
.invalid-feedback {
	font-size: 100%;
}

/* Fraud check error message styling */
.fraud-check-error {
	display: flex !important;
	align-items: center;
	gap: 8px;
	background-color: #fff3cd;
	border: 1px solid #ffc107;
	border-left: 4px solid #dc3545;
	padding: 12px 15px;
	border-radius: 6px;
	margin-top: 8px;
	font-size: 14px;
	color: #856404;
	font-weight: 500;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	animation: slideDown 0.3s ease-out;
}

.fraud-check-error::before {
	content: "⚠";
	font-size: 20px;
	color: #dc3545;
	flex-shrink: 0;
}

/* Success validation styling enhancement */
.form-control.is-valid {
	border-color: #28a745;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
}

/* Slide down animation for error messages */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Loading state for inputs being checked */
.form-control.checking {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3e%3ccircle cx='10' cy='10' r='8' fill='none' stroke='%23007bff' stroke-width='2'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.375em + 0.1875rem) center;
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/* Title, street Type, Streey Suffix select picker dropdown on mobile overflow fix */
.bootstrap-select .dropdown-menu {
	max-width: 80vw;
}

/* Exclude certain fields from Bootstrap validation state styling */
.exclude-validation.is-valid,
.exclude-validation.is-invalid,
.was-validated .exclude-validation:valid,
.was-validated .exclude-validation:invalid,
/* Prevents the search input of the selectpicker from being styled */
.bs-searchbox > input {
	border-color: #adb5bd !important;
	background-image: none !important;
}

/* Prevent label from turning green */
.exclude-validation.is-valid ~ .custom-control-label,
.was-validated .exclude-validation:valid ~ .custom-control-label,
.exclude-validation ~ .custom-control-label.exclude-validation,
.was-validated .exclude-validation ~ .custom-control-label.exclude-validation {
	/* Bootstrap's default text color */
	color: #212529 !important;
}

.exclude-validation ~ .custom-control-label::before,
.was-validated .exclude-validation ~ .custom-control-label::before {
	border-color: #adb5bd !important;
	background-color: #fff !important;
	position: absolute !important;
	left: -1.5rem !important;
	display: block !important;
	width: 1rem !important;
	height: 1rem !important;
	content: "" !important;
	border: 1px solid #adb5bd !important;
	border-radius: 0.25rem !important;
}

.exclude-validation ~ .custom-control-label::after {
	position: absolute !important;
	left: -1.5rem !important;
	display: block !important;
	width: 1rem !important;
	height: 1rem !important;
	content: "" !important;
	background: no-repeat 50%/50% 50% !important;
}

.exclude-validation:checked ~ .custom-control-label::before {
	border-color: #e21232 !important;
	background-color: #e21232 !important;
}

.exclude-validation:checked ~ .custom-control-label::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e") !important;
}

/* Signup Notification Popup Styles */
.signup-notification-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: fadeIn 0.3s ease-in-out;
}

.signup-notification-modal {
	background-color: #ffffff;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	max-width: 500px;
	width: 90%;
	max-height: 80vh;
	overflow-y: auto;
	animation: slideIn 0.3s ease-out;
}

.signup-notification-header {
	background-color: #e10e2e;
	color: #ffffff;
	padding: 15px 20px;
	border-radius: 8px 8px 0 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.signup-notification-header h4 {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
}

.signup-notification-header i {
	margin-right: 8px;
}

.signup-notification-close {
	background: none;
	border: none;
	color: #ffffff;
	font-size: 18px;
	cursor: pointer;
	padding: 5px;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.signup-notification-close:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

.signup-notification-body {
	padding: 20px;
	color: #333333;
	line-height: 1.6;
}

.signup-notification-body p {
	margin-bottom: 12px;
}

.signup-notification-body p:last-child {
	margin-bottom: 0;
}

.signup-notification-footer {
	padding: 15px 20px;
	border-top: 1px solid #e9ecef;
	text-align: right;
	background-color: #f8f9fa;
	border-radius: 0 0 8px 8px;
}

.signup-notification-footer .btn {
	min-width: 120px;
}

/* Dark theme styles */
[data-theme-mode="dark"] .signup-notification-modal {
	background-color: #1a1a1a;
	border: 1px solid #333;
}

[data-theme-mode="dark"] .signup-notification-body {
	color: #ffffff;
}

[data-theme-mode="dark"] .signup-notification-footer {
	background-color: #0d0d0d;
	border-top-color: #333;
}

/* Animations */
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes slideIn {
	from {
		transform: translateY(-50px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Responsive design */
@media (max-width: 768px) {
	.signup-notification-modal {
		width: 95%;
		margin: 10px;
	}
	
	.signup-notification-header,
	.signup-notification-body,
	.signup-notification-footer {
		padding: 15px;
	}
	
	.signup-notification-header h4 {
		font-size: 16px;
	}
}

/* ========================================
   Multi-Step Signup Application Styles
   ======================================== */

/* Main Container */
.crazytel-signup-container {
	width: 100%;
	padding: 20px 0;
}

/* Step Indicator */
.crazytel-signup-steps {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	padding: 0 20px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.crazytel-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	flex: 0 0 auto;
}

.crazytel-step-circle {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #e9ecef;
	color: #6c757d;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.3s ease;
	border: 2px solid #e9ecef;
	margin-bottom: 6px;
}

.crazytel-step-label {
	font-size: 12px;
	color: #6c757d;
	font-weight: 500;
	text-align: center;
	transition: all 0.3s ease;
}

.crazytel-step.active .crazytel-step-circle {
	background-color: #e10e2e;
	color: #ffffff;
	border-color: #e10e2e;
	box-shadow: 0 0 0 4px rgba(225, 14, 46, 0.1);
}

.crazytel-step.active .crazytel-step-label {
	color: #e10e2e;
	font-weight: 600;
}

.crazytel-step.completed .crazytel-step-circle {
	background-color: #28a745;
	color: #ffffff;
	border-color: #28a745;
}

.crazytel-step.completed .crazytel-step-label {
	color: #28a745;
}

.crazytel-step-line {
	flex: 1;
	height: 2px;
	background-color: #e9ecef;
	margin: 0 8px;
	margin-bottom: 20px;
	transition: background-color 0.3s ease;
}

.crazytel-step.completed + .crazytel-step-line {
	background-color: #28a745;
}

/* Step Content */
.crazytel-signup-step-content {
	display: none;
	animation: crazytelFadeIn 0.4s ease-in-out;
}

.crazytel-signup-step-content.active {
	display: block;
}

@keyframes crazytelFadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Welcome Section */
.crazytel-welcome-section {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}

.crazytel-welcome-icon {
	text-align: center;
	margin-bottom: 15px;
}

.crazytel-welcome-icon i {
	font-size: 48px;
	color: #e10e2e;
	opacity: 0.9;
}

.crazytel-welcome-title {
	text-align: center;
	font-size: 26px;
	font-weight: 700;
	color: #212529;
	margin-bottom: 8px;
}

.crazytel-welcome-subtitle {
	text-align: center;
	font-size: 15px;
	color: #6c757d;
	margin-bottom: 25px;
}

/* Requirements Grid */
.crazytel-requirements-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 18px;
	margin-bottom: 25px;
}

.crazytel-requirement-card {
	background: #f8f9fa;
	border: 2px solid #e9ecef;
	border-radius: 10px;
	padding: 20px 18px;
	text-align: center;
	transition: all 0.3s ease;
}

.crazytel-requirement-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
	border-color: #e10e2e;
}

.crazytel-req-icon {
	width: 56px;
	height: 56px;
	background: #e10e2e;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 15px;
}

.crazytel-req-icon i {
	font-size: 26px;
	color: #ffffff;
}

.crazytel-requirement-card h4 {
	font-size: 17px;
	font-weight: 600;
	color: #212529;
	margin-bottom: 8px;
}

.crazytel-requirement-card p {
	font-size: 14px;
	color: #6c757d;
	line-height: 1.5;
	margin-bottom: 0;
}

/* Verification Notice */
.crazytel-verification-notice {
	display: flex;
	align-items: flex-start;
	background: #fff3cd;
	border: 2px solid #ffc107;
	border-left: 4px solid #e10e2e;
	border-radius: 8px;
	padding: 18px;
	margin-bottom: 20px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.crazytel-notice-icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	background: #e10e2e;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
}

.crazytel-notice-icon i {
	font-size: 20px;
	color: #ffffff;
}

.crazytel-notice-content h5 {
	font-size: 16px;
	font-weight: 600;
	color: #212529;
	margin-bottom: 6px;
}

.crazytel-notice-content p {
	font-size: 14px;
	color: #6c757d;
	line-height: 1.5;
	margin-bottom: 0;
}

/* Terms Section */
.crazytel-terms-section {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 6px;
	padding: 15px;
	margin-bottom: 20px;
}

.crazytel-terms-section .custom-control-label {
	font-size: 14px;
	color: #495057;
	cursor: pointer;
	user-select: none;
}

/* Step Actions */
.crazytel-step-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
}

.crazytel-btn {
	padding: 12px 28px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	white-space: nowrap;
}

.crazytel-btn-primary {
	background-color: #e10e2e;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(225, 14, 46, 0.3);
}

.crazytel-btn-primary:hover:not(:disabled) {
	background-color: #c50d26;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(225, 14, 46, 0.4);
}

.crazytel-btn-primary:disabled {
	background-color: #dc3545;
	opacity: 0.5;
	cursor: not-allowed;
	box-shadow: none;
}

.crazytel-btn-secondary {
	background-color: #6c757d;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
}

.crazytel-btn-secondary:hover {
	background-color: #5a6268;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(108, 117, 125, 0.4);
}

/* Dark Theme Styles */
[data-theme-mode="dark"] .crazytel-welcome-title {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-welcome-subtitle {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-requirement-card {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-requirement-card:hover {
	background: #1a1a1a;
	border-color: #e10e2e;
}

[data-theme-mode="dark"] .crazytel-requirement-card h4 {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-requirement-card p {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-verification-notice {
	background: #2d2200;
	border-color: #ffc107;
}

[data-theme-mode="dark"] .crazytel-notice-content h5 {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-notice-content p {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-terms-section {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-terms-section .custom-control-label {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-step-circle {
	background-color: #333;
	border-color: #333;
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-step-label {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-step-line {
	background-color: #333;
}

/* Responsive Design */
@media (max-width: 768px) {
	.crazytel-signup-steps {
		padding: 0 10px;
	}

	.crazytel-step-circle {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}

	.crazytel-step-label {
		font-size: 11px;
	}

	.crazytel-step-line {
		margin: 0 5px;
		margin-bottom: 25px;
	}

	.crazytel-welcome-icon i {
		font-size: 48px;
	}

	.crazytel-welcome-title {
		font-size: 26px;
	}

	.crazytel-welcome-subtitle {
		font-size: 16px;
	}

	.crazytel-requirements-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.crazytel-requirement-card {
		padding: 25px 20px;
	}

	.crazytel-verification-notice {
		flex-direction: column;
		padding: 20px;
	}

	.crazytel-notice-icon {
		margin-right: 0;
		margin-bottom: 15px;
	}

	.crazytel-step-actions {
		flex-direction: column;
		gap: 12px;
	}

	.crazytel-btn {
		width: 100%;
		justify-content: center;
		padding: 12px 24px;
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.crazytel-step-label {
		display: none;
	}

	.crazytel-welcome-title {
		font-size: 22px;
	}

	.crazytel-welcome-subtitle {
		font-size: 15px;
	}
}

/* ========================================
   Signup Form Styles
   ======================================== */

.crazytel-signup-form {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}

.crazytel-form-section {
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	padding: 22px 24px;
	margin-bottom: 18px;
	overflow: visible;
}

.crazytel-form-section h3 {
	font-size: 18px;
	font-weight: 600;
	color: #212529;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e9ecef;
}

.crazytel-section-description {
	font-size: 13px;
	color: #6c757d;
	margin-bottom: 16px;
	line-height: 1.5;
}

.crazytel-form-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 16px;
	margin-bottom: 14px;
	overflow: visible;
}

.crazytel-form-row:last-child {
	margin-bottom: 0;
}

.crazytel-form-group {
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: visible;
}

.crazytel-form-group.crazytel-full-width {
	grid-column: 1 / -1;
}

.crazytel-form-group label {
	font-size: 13px;
	font-weight: 600;
	color: #495057;
	margin-bottom: 5px;
}

.crazytel-form-group label .required {
	color: #e10e2e;
	margin-left: 2px;
}

.crazytel-form-control {
	padding: 9px 12px;
	font-size: 14px;
	border: 1px solid #ced4da;
	border-radius: 5px;
	transition: all 0.25s ease;
	background-color: #ffffff;
	color: #495057;
}

.crazytel-form-control:focus {
	outline: none;
	border-color: #e10e2e;
	box-shadow: 0 0 0 3px rgba(225, 14, 46, 0.08);
}

.crazytel-form-control.is-invalid {
	border-color: #dc3545;
	background-color: #fff5f5;
	box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.08);
}

.crazytel-form-control.is-invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
}

.crazytel-form-control:disabled {
	background-color: #e9ecef;
	cursor: not-allowed;
}

.crazytel-form-control.is-valid {
	border-color: #28a745;
	background-color: #f0fff4;
	box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.08);
}

.crazytel-form-control.is-valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.15);
}

.crazytel-form-hint {
	font-size: 12px;
	color: #6c757d;
	margin-top: 4px;
	display: block;
	line-height: 1.4;
}

.crazytel-form-hint.crazytel-hint-important {
	color: #0066cc;
	font-weight: 600;
	background: #e6f2ff;
	padding: 8px 10px;
	border-radius: 4px;
	border-left: 3px solid #0066cc;
	margin-top: 6px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.crazytel-form-hint.crazytel-hint-important i {
	flex-shrink: 0;
	font-size: 13px;
}

/* Password Input Wrapper with Toggle */
.crazytel-password-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.crazytel-password-wrapper .crazytel-form-control {
	padding-right: 42px;
	flex: 1;
}

.crazytel-password-toggle {
	position: absolute;
	right: 8px;
	background: none;
	border: none;
	color: #6c757d;
	cursor: pointer;
	padding: 6px 10px;
	border-radius: 4px;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.crazytel-password-toggle:hover {
	color: #e10e2e;
	background: rgba(225, 14, 46, 0.05);
}

.crazytel-password-toggle:active {
	transform: scale(0.95);
}

.crazytel-password-toggle i {
	font-size: 14px;
}

/* Password Strength Indicator */
.crazytel-password-strength {
	margin-top: 8px;
	display: none;
}

.crazytel-password-strength.show {
	display: block;
}

.crazytel-strength-bar {
	width: 100%;
	height: 6px;
	background-color: #e9ecef;
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 6px;
}

.crazytel-strength-fill {
	height: 100%;
	width: 0;
	transition: all 0.4s ease;
	border-radius: 3px;
}

.crazytel-strength-fill.weak {
	width: 33%;
	background-color: #dc3545;
}

.crazytel-strength-fill.medium {
	width: 66%;
	background-color: #ffc107;
}

.crazytel-strength-fill.strong {
	width: 100%;
	background-color: #28a745;
}

.crazytel-strength-text {
	font-size: 13px;
	font-weight: 500;
	display: block;
}

.crazytel-strength-text.weak {
	color: #dc3545;
}

.crazytel-strength-text.medium {
	color: #ffc107;
}

.crazytel-strength-text.strong {
	color: #28a745;
}

/* Password Requirements */
.crazytel-password-requirements {
	margin-top: 8px;
	padding: 10px 12px;
	background: #f8f9fa;
	border-radius: 5px;
	border: 1px solid #e9ecef;
	display: none;
	animation: slideDown 0.3s ease-out;
}

.crazytel-password-requirements.show {
	display: block;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.crazytel-req-item {
	font-size: 12px;
	color: #dc3545;
	margin-bottom: 5px;
	display: flex;
	align-items: center;
	gap: 7px;
	position: relative;
	padding-left: 20px;
}

.crazytel-req-item:last-child {
	margin-bottom: 0;
}

.crazytel-req-item::before {
	content: "✗";
	font-family: Arial, sans-serif;
	font-weight: bold;
	color: #dc3545;
	font-size: 16px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
}

.crazytel-req-item.met {
	color: #28a745;
}

.crazytel-req-item.met::before {
	content: "✓";
	font-family: Arial, sans-serif;
	font-weight: bold;
	color: #28a745;
	font-size: 16px;
}

/* Account Type Options */
.crazytel-account-type-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 10px;
	margin-top: 8px;
}

.crazytel-radio-card {
	position: relative;
	cursor: pointer;
	user-select: none;
}

.crazytel-radio-card input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.crazytel-radio-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 12px;
	border: 2px solid #e9ecef;
	border-radius: 6px;
	background: #f8f9fa;
	transition: all 0.25s ease;
	min-height: 100px;
}

.crazytel-radio-content i {
	font-size: 28px;
	color: #6c757d;
	margin-bottom: 7px;
	transition: all 0.25s ease;
}

.crazytel-radio-content span {
	font-size: 13px;
	font-weight: 600;
	color: #495057;
	transition: all 0.25s ease;
}

.crazytel-radio-card:hover .crazytel-radio-content {
	border-color: #e10e2e;
	background: #fff;
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.crazytel-radio-card input[type="radio"]:checked + .crazytel-radio-content {
	border-color: #e10e2e;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(225, 14, 46, 0.1);
}

.crazytel-radio-card input[type="radio"]:checked + .crazytel-radio-content i {
	color: #e10e2e;
}

.crazytel-radio-card input[type="radio"]:checked + .crazytel-radio-content span {
	color: #e10e2e;
}

/* Address Autocomplete - Wrapper for input and dropdown */
.crazytel-form-group:has(#signup_address) {
	position: relative;
	z-index: 100;
}

#signup_address {
	position: relative;
	z-index: 101;
}

/* Address suggestion hint - keep below dropdown */
.crazytel-form-group:has(#signup_address) .crazytel-form-hint {
	position: relative;
	z-index: 1;
}

.crazytel-address-suggestions {
	position: absolute;
	top: calc(100% + 0px);
	left: 0;
	right: 0;
	background: #ffffff;
	border: 1px solid #ced4da;
	border-top: none;
	border-radius: 0 0 6px 6px;
	max-height: 250px;
	overflow-y: auto;
	z-index: 999999 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	margin-top: -6px;
	display: none;
}

/* When dropdown is active, elevate entire form group */
.crazytel-form-group:has(.crazytel-address-suggestions.show) {
	z-index: 999999 !important;
}

/* Fallback for browsers without :has() support */
.crazytel-form-group.dropdown-active {
	z-index: 999999 !important;
}

/* Hide disclaimer when dropdown is active */
.crazytel-form-group:has(.crazytel-address-suggestions.show) .crazytel-address-disclaimer {
	display: none;
}

.crazytel-form-group.dropdown-active .crazytel-address-disclaimer {
	display: none;
}

.crazytel-address-suggestions.show {
	display: block;
}

.crazytel-address-suggestion-item {
	padding: 12px 14px;
	cursor: pointer;
	transition: background-color 0.2s ease;
	border-bottom: 1px solid #f8f9fa;
	font-size: 14px;
	color: #495057;
}

.crazytel-address-suggestion-item:hover {
	background-color: #f8f9fa;
}

.crazytel-address-suggestion-item:last-child {
	border-bottom: none;
}

.crazytel-address-suggestion-item.loading {
	text-align: center;
	color: #6c757d;
	font-style: italic;
}

.crazytel-selected-address {
	margin-top: 12px;
	animation: slideDown 0.3s ease-out;
}

.crazytel-address-display-box {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px;
	background: #e7f4e7;
	border: 2px solid #28a745;
	border-radius: 6px;
	color: #155724;
	font-size: 14px;
	box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}

/* Address input field with valid address */
#signup_address.address-selected {
	border-color: #28a745 !important;
	background-color: #e7f4e7 !important;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right calc(0.375em + 0.1875rem) center !important;
	background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important;
	padding-right: calc(1.5em + 0.75rem) !important;
}

.crazytel-address-display-box i {
	color: #28a745;
	font-size: 18px;
	flex-shrink: 0;
}

.crazytel-address-display-box span {
	flex: 1;
	font-weight: 500;
}

.crazytel-btn-change-address {
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 600;
	background: #ffffff;
	border: 1px solid #28a745;
	color: #28a745;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.crazytel-btn-change-address:hover {
	background: #28a745;
	color: #ffffff;
}

/* Checkbox Labels */
.crazytel-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	user-select: none;
	padding: 12px;
	border: 1px solid #e9ecef;
	border-radius: 6px;
	transition: all 0.3s ease;
}

.crazytel-checkbox-label:hover {
	background: #f8f9fa;
	border-color: #e10e2e;
}

.crazytel-checkbox-label input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin-top: 2px;
	cursor: pointer;
	flex-shrink: 0;
}

.crazytel-checkbox-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.crazytel-checkbox-text strong {
	font-size: 14px;
	color: #495057;
}

.crazytel-checkbox-text small {
	font-size: 13px;
	color: #6c757d;
}

/* Compact Checkbox Grid Layout */
.crazytel-checkbox-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
}

.crazytel-checkbox-label-compact {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
	user-select: none;
	padding: 14px 16px;
	border: 2px solid #e9ecef;
	border-radius: 8px;
	transition: all 0.3s ease;
	background: #f8f9fa;
	position: relative;
	overflow: hidden;
}

.crazytel-checkbox-label-compact::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: #e10e2e;
	transform: scaleY(0);
	transition: transform 0.3s ease;
}

.crazytel-checkbox-label-compact:hover {
	background: #ffffff;
	border-color: #e10e2e;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.crazytel-checkbox-label-compact:hover::before {
	transform: scaleY(1);
}

.crazytel-checkbox-label-compact input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin-top: 3px;
	cursor: pointer;
	flex-shrink: 0;
	accent-color: #e10e2e;
}

.crazytel-checkbox-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, #e10e2e 0%, #c50d26 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all 0.3s ease;
}

.crazytel-checkbox-icon i {
	color: #ffffff;
	font-size: 18px;
}

.crazytel-checkbox-label-compact:hover .crazytel-checkbox-icon {
	transform: scale(1.1) rotate(5deg);
}

.crazytel-checkbox-label-compact .crazytel-checkbox-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.crazytel-checkbox-label-compact .crazytel-checkbox-text strong {
	font-size: 14px;
	font-weight: 600;
	color: #212529;
}

.crazytel-checkbox-label-compact .crazytel-checkbox-text small {
	font-size: 12px;
	color: #6c757d;
	line-height: 1.4;
}

/* Checked State - Green Styling */
.crazytel-checkbox-label-compact input[type="checkbox"]:checked ~ .crazytel-checkbox-icon {
	background: linear-gradient(135deg, #28a745 0%, #20873a 100%);
	transform: scale(1.05);
}

.crazytel-checkbox-label-compact input[type="checkbox"]:checked {
	accent-color: #28a745;
}

.crazytel-checkbox-label-compact:has(input[type="checkbox"]:checked) {
	background: #f0f9f4;
	border-color: #28a745;
	box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}

.crazytel-checkbox-label-compact:has(input[type="checkbox"]:checked)::before {
	background: #28a745;
	transform: scaleY(1);
}

/* Enabled Status Badge */
.crazytel-checkbox-label-compact:has(input[type="checkbox"]:checked) .crazytel-checkbox-text strong::after {
	content: 'Enabled';
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	background: #28a745;
	color: #ffffff;
	font-size: 10px;
	font-weight: 600;
	border-radius: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	vertical-align: middle;
}

/* Input with Icon */
.crazytel-input-with-icon {
	position: relative;
	display: flex;
	align-items: center;
}

.crazytel-input-with-icon i {
	position: absolute;
	left: 12px;
	color: #6c757d;
	font-size: 14px;
	z-index: 1;
	pointer-events: none;
}

.crazytel-input-with-icon .crazytel-form-control {
	padding-left: 38px;
}

.crazytel-input-with-icon .crazytel-form-control:focus ~ i,
.crazytel-input-with-icon:has(.crazytel-form-control:focus) i,
.crazytel-input-with-icon:hover i {
	color: #e10e2e;
}

/* Success Page Styles */
.crazytel-success-container {
	max-width: 700px;
	margin: 0 auto;
	padding: 40px 20px;
	text-align: center;
}

.crazytel-success-icon {
	margin-bottom: 20px;
}

.crazytel-success-icon i {
	font-size: 80px;
	color: #28a745;
	animation: successPulse 1.5s ease-in-out;
}

@keyframes successPulse {
	0% {
		transform: scale(0);
		opacity: 0;
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.crazytel-success-title {
	font-size: 28px;
	font-weight: 700;
	color: #212529;
	margin-bottom: 30px;
}

.crazytel-reference-box {
	background: #f8f9fa;
	border: 2px solid #e9ecef;
	border-radius: 8px;
	padding: 25px;
	margin-bottom: 30px;
}

.crazytel-reference-box label {
	font-size: 12px;
	font-weight: 700;
	color: #6c757d;
	display: block;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.crazytel-reference-number {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.crazytel-reference-number span {
	font-size: 24px;
	font-weight: 700;
	color: #e10e2e;
	font-family: 'Courier New', monospace;
	letter-spacing: 2px;
}

.crazytel-copy-btn {
	padding: 8px 12px;
	background: #e10e2e;
	color: #ffffff;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 14px;
}

.crazytel-copy-btn:hover {
	background: #c50d26;
	transform: scale(1.05);
}

.crazytel-copy-btn i {
	margin-right: 0;
}

.crazytel-next-steps {
	text-align: left;
	margin-bottom: 30px;
}

.crazytel-next-steps h3 {
	font-size: 20px;
	font-weight: 600;
	color: #212529;
	margin-bottom: 20px;
	text-align: center;
}

.crazytel-steps-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.crazytel-step-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 20px;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 8px;
}

.crazytel-step-number {
	width: 40px;
	height: 40px;
	background: #e10e2e;
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	flex-shrink: 0;
}

.crazytel-step-content {
	flex: 1;
}

.crazytel-step-content strong {
	font-size: 16px;
	color: #212529;
	display: block;
	margin-bottom: 6px;
}

.crazytel-step-content p {
	font-size: 14px;
	color: #6c757d;
	line-height: 1.6;
	margin-bottom: 0;
}

.crazytel-support-notice {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 8px;
	padding: 15px;
	margin-bottom: 30px;
}

.crazytel-support-notice i {
	color: #856404;
	font-size: 20px;
	flex-shrink: 0;
}

.crazytel-support-notice p {
	font-size: 14px;
	color: #856404;
	line-height: 1.6;
	margin-bottom: 0;
	text-align: center;
}

/* Compact Modern Success Page Styles */
.crazytel-next-steps-compact {
	text-align: left;
	margin-bottom: 20px;
}

.crazytel-next-steps-compact h3 {
	font-size: 18px;
	font-weight: 600;
	color: #212529;
	margin-bottom: 15px;
	text-align: center;
}

.crazytel-steps-horizontal {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	margin-bottom: 0;
}

.crazytel-step-compact {
	text-align: center;
	padding: 15px 12px;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	transition: all 0.2s ease;
}

.crazytel-step-compact:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.crazytel-step-number-compact {
	width: 32px;
	height: 32px;
	background: #e10e2e;
	color: #ffffff;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 10px;
}

.crazytel-step-compact strong {
	font-size: 14px;
	color: #212529;
	display: block;
	margin-bottom: 6px;
}

.crazytel-step-compact p {
	font-size: 13px;
	color: #6c757d;
	line-height: 1.5;
	margin-bottom: 0;
}

.crazytel-important-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(135deg, #fff3cd 0%, #ffe69c 100%);
	border: 2px solid #ffc107;
	border-left: 4px solid #e10e2e;
	border-radius: 8px;
	padding: 15px 18px;
	margin-bottom: 20px;
	box-shadow: 0 2px 8px rgba(225, 14, 46, 0.1);
}

.crazytel-important-notice i {
	color: #e10e2e;
	font-size: 24px;
	flex-shrink: 0;
	animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
	0%, 100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.8;
		transform: scale(1.1);
	}
}

.crazytel-important-notice p {
	font-size: 14px;
	color: #856404;
	line-height: 1.6;
	margin-bottom: 0;
}

.crazytel-support-notice-compact {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #e7f3ff;
	border: 1px solid #b3d9ff;
	border-radius: 6px;
	padding: 12px 15px;
	margin-bottom: 20px;
	font-size: 13px;
	color: #004085;
}

.crazytel-support-notice-compact i {
	color: #0056b3;
	font-size: 16px;
	flex-shrink: 0;
}

.crazytel-support-notice-compact span {
	line-height: 1.5;
	text-align: center;
}

.crazytel-success-actions {
	display: flex;
	justify-content: center;
}

/* Dark Theme for Form */
[data-theme-mode="dark"] .crazytel-form-section {
	background: #1a1a1a;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-form-section h3 {
	color: #ffffff;
	border-bottom-color: #333;
}

[data-theme-mode="dark"] .crazytel-section-description {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-form-group label {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-form-control {
	background-color: #111111;
	border-color: #333;
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-form-control:focus {
	border-color: #e10e2e;
	background-color: #111111;
}

[data-theme-mode="dark"] .crazytel-form-control:disabled {
	background-color: #0d0d0d;
}

[data-theme-mode="dark"] .crazytel-form-control.is-invalid {
	border-color: #dc3545;
	background-color: #2d0d0d;
	box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
}

[data-theme-mode="dark"] .crazytel-form-control.is-invalid:focus {
	border-color: #dc3545;
	box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
}

[data-theme-mode="dark"] .crazytel-form-control.is-valid {
	border-color: #28a745;
	background-color: #0d1a0d;
	box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.15);
}

[data-theme-mode="dark"] .crazytel-form-control.is-valid:focus {
	border-color: #28a745;
	box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.25);
}

[data-theme-mode="dark"] .crazytel-form-hint {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-form-hint.crazytel-hint-important {
	color: #66b3ff;
	background: #0d1a2d;
	border-left-color: #66b3ff;
}

[data-theme-mode="dark"] .crazytel-password-requirements {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-password-toggle {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-password-toggle:hover {
	color: #e10e2e;
	background: rgba(225, 14, 46, 0.1);
}

[data-theme-mode="dark"] .crazytel-radio-content {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-radio-card:hover .crazytel-radio-content,
[data-theme-mode="dark"] .crazytel-radio-card input[type="radio"]:checked + .crazytel-radio-content {
	background: #1a1a1a;
}

[data-theme-mode="dark"] .crazytel-address-suggestions {
	background: #1a1a1a;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-address-suggestion-item {
	color: #ffffff;
	border-bottom-color: #333;
}

[data-theme-mode="dark"] .crazytel-address-suggestion-item:hover {
	background-color: #0d0d0d;
}

[data-theme-mode="dark"] .crazytel-address-display-box {
	background: #1a2e1a;
	border-color: #28a745;
	color: #90ee90;
}

[data-theme-mode="dark"] .crazytel-checkbox-label {
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-checkbox-label:hover {
	background: #0d0d0d;
}

[data-theme-mode="dark"] .crazytel-checkbox-text strong {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-checkbox-text small {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-checkbox-label-compact {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-checkbox-label-compact:hover {
	background: #1a1a1a;
	border-color: #e10e2e;
}

[data-theme-mode="dark"] .crazytel-checkbox-label-compact .crazytel-checkbox-text strong {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-checkbox-label-compact .crazytel-checkbox-text small {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-input-with-icon i {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-input-with-icon .crazytel-form-control:focus + i,
[data-theme-mode="dark"] .crazytel-input-with-icon:hover i {
	color: #e10e2e;
}

[data-theme-mode="dark"] .crazytel-success-title {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-reference-box {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-step-item {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-step-content strong {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-step-content p {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-support-notice {
	background: #2d2200;
	border-color: #ffc107;
}

[data-theme-mode="dark"] .crazytel-step-compact {
	background: #0d0d0d;
	border-color: #333;
}

[data-theme-mode="dark"] .crazytel-step-compact:hover {
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

[data-theme-mode="dark"] .crazytel-step-compact strong {
	color: #ffffff;
}

[data-theme-mode="dark"] .crazytel-step-compact p {
	color: #cccccc;
}

[data-theme-mode="dark"] .crazytel-important-notice {
	background: linear-gradient(135deg, #2d2200 0%, #3d3000 100%);
	border-color: #ffc107;
	border-left-color: #e10e2e;
}

[data-theme-mode="dark"] .crazytel-important-notice p {
	color: #ffd966;
}

[data-theme-mode="dark"] .crazytel-support-notice-compact {
	background: #0d1a2d;
	border-color: #0056b3;
	color: #66b3ff;
}

[data-theme-mode="dark"] .crazytel-support-notice-compact i {
	color: #66b3ff;
}

[data-theme-mode="dark"] .crazytel-next-steps-compact h3 {
	color: #ffffff;
}

/* Responsive Design */
@media (max-width: 768px) {
	.crazytel-signup-form {
		padding: 0 15px;
	}

	.crazytel-form-section {
		padding: 18px 16px;
	}

	.crazytel-form-row {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.crazytel-account-type-options {
		grid-template-columns: repeat(2, 1fr);
	}

	.crazytel-checkbox-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.crazytel-checkbox-label-compact {
		padding: 12px 14px;
	}

	.crazytel-success-icon i {
		font-size: 60px;
	}

	.crazytel-success-title {
		font-size: 22px;
	}

	.crazytel-reference-number {
		flex-direction: column;
		gap: 10px;
	}

	.crazytel-reference-number span {
		font-size: 20px;
	}

	.crazytel-step-item {
		padding: 15px;
	}

	.crazytel-step-number {
		width: 35px;
		height: 35px;
		font-size: 16px;
	}

	.crazytel-support-notice {
		flex-direction: column;
		text-align: center;
	}

	.crazytel-steps-horizontal {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.crazytel-step-compact {
		padding: 12px 10px;
	}

	.crazytel-important-notice {
		flex-direction: row;
		text-align: left;
		padding: 12px 15px;
	}

	.crazytel-important-notice i {
		font-size: 20px;
	}

	.crazytel-important-notice p {
		font-size: 13px;
	}

	.crazytel-support-notice-compact {
		flex-direction: row;
		font-size: 12px;
		padding: 10px 12px;
	}
}

@media (max-width: 480px) {
	.crazytel-account-type-options {
		grid-template-columns: 1fr;
	}

	.crazytel-reference-box {
		padding: 20px 15px;
	}

	.crazytel-important-notice {
		flex-direction: column;
		text-align: center;
	}

	.crazytel-support-notice-compact {
		flex-direction: column;
	}
}

/* ============================================================================
   Address Disclaimer Styling
   ============================================================================ */
.crazytel-address-disclaimer {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background-color: #fff3cd;
	border: 1px solid #ffc107;
	border-left: 4px solid #e10e2e;
	padding: 12px 15px;
	border-radius: 6px;
	margin-top: 12px;
	font-size: 13px;
	color: #856404;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}

.crazytel-address-disclaimer i {
	color: #e10e2e;
	font-size: 16px;
	margin-top: 2px;
	flex-shrink: 0;
}

.crazytel-address-disclaimer p {
	margin: 0;
}

.crazytel-address-disclaimer strong {
	color: #664d03;
	font-weight: 600;
}

/* ============================================================================
   Tooltip Styling
   ============================================================================ */
.crazytel-tooltip-icon {
	position: relative;
	display: inline-block;
	margin-left: 6px;
	cursor: help;
}

.crazytel-tooltip-icon i {
	color: #6c757d;
	font-size: 14px;
	transition: color 0.2s ease;
}

.crazytel-tooltip-icon:hover i {
	color: #e10e2e;
}

.crazytel-tooltip-icon::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(-8px);
	background-color: #333;
	color: #fff;
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 400;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	z-index: 1000;
	pointer-events: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	text-transform: none !important;
	letter-spacing: normal !important;
}

.crazytel-tooltip-icon::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #333;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	z-index: 1000;
	pointer-events: none;
}

.crazytel-tooltip-icon:hover::after,
.crazytel-tooltip-icon:hover::before {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(-4px);
}

/* Responsive adjustments for tooltip */
@media (max-width: 768px) {
	.crazytel-tooltip-icon::after {
		white-space: normal;
		max-width: 250px;
		left: auto;
		right: 0;
		transform: translateX(0) translateY(-8px);
	}
	
	.crazytel-tooltip-icon::before {
		left: auto;
		right: 10px;
		transform: translateX(0);
	}
	
	.crazytel-tooltip-icon:hover::after {
		transform: translateX(0) translateY(-4px);
	}
}
