body {
	font-family: 'Nunito', sans-serif !important;
	background: linear-gradient(135deg, #f5f7fa 0%, #e9ecef 100%);
	background-attachment: fixed;
	font-size: 14px;
	line-height: 1.6;
	overflow-x: hidden;
	position: relative;
}

/* Decorative Background Elements */
.decorative-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}

.bg-logo {
	position: absolute;
	opacity: 0.08;
	transition: all 0.6s ease;
}

.bg-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: grayscale(100%);
}

.bg-logo-left {
	top: 10%;
	left: -15%;
	width: 500px;
	height: 500px;
	transform: rotate(-15deg);
	animation: floatLeft 20s ease-in-out infinite;
}

.bg-logo-right {
	bottom: 5%;
	right: -10%;
	width: 600px;
	height: 600px;
	transform: rotate(25deg);
	animation: floatRight 25s ease-in-out infinite;
}

/* Floating circles with gradient */
.floating-circle {
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(229, 30, 35, 0.12) 0%, rgba(229, 30, 35, 0.02) 70%);
	animation: pulse 8s ease-in-out infinite;
}

.circle-1 {
	top: 15%;
	right: 20%;
	width: 300px;
	height: 300px;
	animation-delay: 0s;
}

.circle-2 {
	bottom: 20%;
	left: 15%;
	width: 400px;
	height: 400px;
	animation-delay: 2s;
}

.circle-3 {
	top: 50%;
	left: 50%;
	width: 250px;
	height: 250px;
	transform: translate(-50%, -50%);
	animation-delay: 4s;
}

/* Animations */
@keyframes floatLeft {
	0%, 100% {
		transform: rotate(-15deg) translateY(0) translateX(0);
	}
	50% {
		transform: rotate(-20deg) translateY(-30px) translateX(20px);
	}
}

@keyframes floatRight {
	0%, 100% {
		transform: rotate(25deg) translateY(0) translateX(0);
	}
	50% {
		transform: rotate(30deg) translateY(40px) translateX(-30px);
	}
}

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

/* Mobile adjustments for decorative elements */
@media (max-width: 991px) {
	.bg-logo {
		opacity: 0.05;
	}
	
	.bg-logo-left {
		width: 350px;
		height: 350px;
		left: -25%;
		top: 5%;
	}
	
	.bg-logo-right {
		width: 400px;
		height: 400px;
		right: -20%;
		bottom: 10%;
	}
	
	.floating-circle {
		background: radial-gradient(circle, rgba(229, 30, 35, 0.06) 0%, rgba(229, 30, 35, 0.01) 70%);
	}
	
	.circle-1 {
		width: 200px;
		height: 200px;
	}
	
	.circle-2 {
		width: 250px;
		height: 250px;
	}
	
	.circle-3 {
		width: 180px;
		height: 180px;
	}
}

@media (max-width: 576px) {
	.bg-logo {
		opacity: 0.04;
	}
	
	.bg-logo-left {
		width: 250px;
		height: 250px;
		left: -30%;
	}
	
	.bg-logo-right {
		width: 280px;
		height: 280px;
		right: -25%;
	}
	
	.circle-1, .circle-2 {
		display: none;
	}
	
	.circle-3 {
		width: 150px;
		height: 150px;
	}
}

.navbar {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	background-color: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(10px);
	padding: 0.75rem 1rem;
	position: relative;
	z-index: 10;
}

/* Sur grand écran, centrer le navbar et limiter sa largeur */
@media (min-width: 992px) {
	.navbar {
		display: flex;
		justify-content: center;
		padding: 0.75rem 0;
	}
	
	.navbar .container-fluid {
		max-width: 580px;
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 1rem;
	}
}

.navbar-text {
	color: #6c757d;
	font-size: 0.9rem;
	font-weight: 500;
}

.navbar-brand img {
	border-radius: 0;
}

.container {
	position: relative;
	z-index: 1;
}

button:focus,
.btn-primary.focus,
.btn:focus {
	outline: none !important;
	box-shadow: 0 !important;
}

*:focus {
	outline: none !important;
	box-shadow: 0 !important;
}

ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

a {
	text-decoration: none !important;
}

h6 {
	font-weight: 400;
	color: #7e8387;
	margin: 0 0 20px 0;
}

.lng-width {
	max-width: 580px;
}

/* Modern section headers */
.section-header {
	text-align: center;
	margin-bottom: 1.5rem;
}

.section-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: #2c3e50;
	margin: 0;
	line-height: 1.4;
}

.intro-text {
	background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
	border-left: 4px solid #E51E23;
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	box-shadow: 0 2px 8px rgba(229, 30, 35, 0.08);
	position: relative;
	overflow: hidden;
}

.intro-text::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100px;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(229, 30, 35, 0.03));
	pointer-events: none;
}

.intro-text p {
	margin: 0;
	color: #495057;
	line-height: 1.7;
	position: relative;
	z-index: 1;
}

.intro-text strong {
	color: #E51E23;
	font-weight: 600;
}

/* Question blocks */
.question-block {
	margin-bottom: 2rem;
}

.question-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.question-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: #2c3e50;
	margin: 0;
}

#wizard {
	border-radius: 16px !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12), 
	            0 8px 16px rgba(0, 0, 0, 0.06),
	            0 0 0 1px rgba(0, 0, 0, 0.02);
	background: white;
	transition: all 0.3s ease;
	overflow: hidden;
	max-width: 100%;
	position: relative;
}

#wizard::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
	transition: left 0.5s;
	pointer-events: none;
}

#wizard:hover {
	box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15), 
	            0 10px 20px rgba(0, 0, 0, 0.08),
	            0 0 0 1px rgba(229, 30, 35, 0.1);
	transform: translateY(-2px);
}

#wizard #message1 {
	height: 150px !important;
	max-height: 150px !important;
}

#wizard #message2 {
	height: 90px !important;
	max-height: 90px !important;
}

#wizard input,
#wizard textarea {
	color: #7e8387;
	font-size: 14px;
	font-weight: 300;
}

#wizard label {
	color: #7e8387;
	font-weight: 300;
}

#wizard p {
	color: #7e8387;
	font-weight: 300;
}

.has-float-label>span {
	font-size: 85% !important;
}

.form-control:focus {
	box-shadow: none !important;
	outline: 0 !important;
}


/* Wizard */

.wizard .audible {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wizard .steps {
	padding: 20px 15px 8px 15px;
	overflow: hidden;
	background: #fff;
	border-bottom: 1px solid #e9ecef;
	position: relative;
}

.wizard .steps>ul {
	list-style: none;
	padding-left: 0;
	display: flex;
	justify-content: flex-start;
	background-image: linear-gradient(#dee2e6, #dee2e6);
	background-size: 100% 2px;
	background-repeat: no-repeat;
	background-position: center 17px;
	margin-bottom: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	scrollbar-color: #dee2e6 transparent;
	gap: 8px;
	padding: 0 10px;
}

.wizard .steps>ul::-webkit-scrollbar {
	height: 4px;
}

.wizard .steps>ul::-webkit-scrollbar-track {
	background: transparent;
}

.wizard .steps>ul::-webkit-scrollbar-thumb {
	background: #dee2e6;
	border-radius: 2px;
}

.wizard .steps>ul::-webkit-scrollbar-thumb:hover {
	background: #adb5bd;
}

.wizard .steps>ul li a {
	display: inline-block;
	text-align: center;
	transition: all 0.3s ease;
}
.wizard .steps>ul li a button {
	display: inline-block;
	text-align: center;
}
.wizard .steps>ul li {
	flex-shrink: 0;
	min-width: 30px;
}

.wizard .steps>ul li .uneek-indicator {
	position: relative;
	display: inline-block;
	width: 26px;
	height: 26px;
	line-height: 1.8;
	margin-top: 8.5px;
	margin-bottom: 8.5px;
	background-color: #ffffff;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	border: 2px solid #dee2e6;
	border-radius: 50%;
}

.wizard .steps>ul li .uneek-indicator::before {
	content: "";
	width: 12px;
	height: 12px;
	display: inline-block;
	border-radius: 50%;
	background-color: #dee2e6;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
}

.wizard .steps>ul li.current .uneek-indicator {
	border-color: #ffb6b6;
	background-color: #fff;
}

.wizard .steps>ul li.current .uneek-indicator::before {
	background-color: #ffb6b6;
	transform: translate(-50%, -50%) scale(1);
}

.wizard .steps>ul li.done .uneek-indicator {
	border-color: #212529;
	background-color: #212529;
}

.wizard .steps>ul li.done .uneek-indicator::before {
	background-color: #fff;
	transform: translate(-50%, -50%) scale(0.6);
}

.wizard .content {
	padding: 30px 35px;
	background-color: #fff;
	min-height: 420px;
}

.wizard .content .title {
	display: none;
}

.wizard .content .content-wrapper {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.wizard .content p {
	font-size: 14px;
	color: #495057;
	line-height: 1.7;
}

.wizard .content .form-control {
	padding: 16px 20px;
	border-radius: 8px;
	border: 2px solid #e9ecef;
	transition: all 0.3s ease;
	font-size: 14px;
}

.wizard .content .form-control:focus {
	border-color: #212529;
	box-shadow: 0 0 0 0.2rem rgba(33, 37, 41, 0.1);
}

.wizard .content .form-control::-webkit-input-placeholder {
	color: #919aa3;
}

.wizard .content .form-control::-moz-placeholder {
	color: #919aa3;
}

.wizard .content .form-control:-ms-input-placeholder {
	color: #919aa3;
}

.wizard .content .form-control::-ms-input-placeholder {
	color: #919aa3;
}

.wizard .content .form-control::placeholder {
	color: #919aa3;
}

.wizard .actions>ul {
	list-style: none;
	padding-left: 0;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: end;
	justify-content: flex-end;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.wizard .actions li a {
	display: inline-block;
	border-radius: 8px;
	background-color: #212529;
	padding: 14px 32px;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(33, 37, 41, 0.15);
}

.wizard .actions li a:hover {
	text-decoration: none;
	background-color: #000;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(33, 37, 41, 0.25);
}

.wizard .actions li a:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(33, 37, 41, 0.2);
}

.wizard .actions li.disabled {
	display: none;
}

.wizard .actions li:not(.disabled)+li,
.wizard .actions li:not(:first-child):last-child {
	margin-left: 15px;
}

.wizard .actions {
	padding: 0 35px 30px;
	background-color: #fff;
	border-bottom-right-radius: 16px;
	border-bottom-left-radius: 16px;
}

.has-float-label .form-control:placeholder-shown:not(:focus)+* {
	font-size: 100% !important;
	top: 1.5em !important;
}


/*for select2*/

.select2 {
	width: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 50px !important;
	padding-left: 25px !important;
}

.select2-container--default .select2-selection--single {
	height: 50px !important;
	border: solid 1px #ececec !important;
	font-size: 14px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	top: 75% !important;
	margin-top: 2px !important;
}

.select2-selection__rendered {
	display: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #7e8387 !important;
}


/*ERROR ON FOCUS STYLING*/

.error {
	border: 1px solid #ececec !important;
}

.error:focus {
	border: 1px solid #ececec !important;
}

.steps ul li {
	border: 0 !important;
}


/*Error block*/

.errorblock {
	color: #f44336;
}

.styled-input-single {
	position: relative;
	padding: 12px 0 12px 45px;
	text-align: left;
	margin-bottom: 4px;
}

.styled-input-single label {
	cursor: pointer;
	margin-bottom: 0 !important;
	color: #495057;
	font-weight: 400;
	transition: color 0.2s ease;
	font-size: 14.5px;
}

.styled-input-single label:hover {
	color: #212529;
}

.styled-input-single label:before,
.styled-input-single label:after {
	content: '';
	position: absolute;
	top: 50%;
	border-radius: 50%;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.styled-input-single label:before {
	left: 0;
	width: 32px;
	height: 32px;
	margin: -16px 0 0;
	background: #fff;
	border: 2px solid #ffb6b6;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.styled-input-single label:hover:before {
	border-color: #ffb6b6;
	box-shadow: 0 2px 8px rgba(255, 182, 182, 0.3);
}

.styled-input-single label:after {
	left: 6px;
	width: 20px;
	height: 20px;
	margin: -10px 0 0;
	opacity: 0;
	background: #ffb6b6;
	-webkit-transform: translate3d(0px, 0, 0) scale(0.3);
	transform: translate3d(0px, 0, 0) scale(0.3);
}

.styled-input-single input[type="radio"],
.styled-input-single input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: -9999px;
	visibility: hidden;
}

.styled-input-single input[type="radio"]:checked+label {
	color: #212529;
	font-weight: 500;
}

.styled-input-single input[type="radio"]:checked+label:before {
	border-color: #ffb6b6;
	border-width: 2px;
	box-shadow: 0 4px 12px rgba(255, 182, 182, 0.4);
}

.styled-input-single input[type="radio"]:checked+label:after,
.styled-input-single input[type="checkbox"]:checked+label:after {
	-webkit-transform: translate3d(0, 0, 0) scale(1);
	transform: translate3d(0, 0, 0) scale(1);
	opacity: 1;
}

.styled-input--square label:before,
.styled-input--square label:after {
	border-radius: 8px;
}

.rounded-checkbox .styled-input-single {
	padding: 10px 0 10px 20px;
}

.rounded-checkbox .styled-input-single label:before {
	left: -1px;
	width: 15px;
	height: 15px;
	margin: -8px 0 0;
}

.rounded-checkbox .styled-input-single label:after {
	left: 2.5px;
	width: 8px;
	height: 8px;
	margin: -4.5px 0 0;
}

@media (max-width: 767px) {
	.wizard .steps {
		padding: 16px 10px 8px 10px;
	}
	
	.wizard .steps>ul {
		padding: 0 5px;
	}
	
	.wizard .actions {
		padding: 0 20px 25px;
	}
	
	.wizard .actions li a {
		padding: 12px 24px;
		font-size: 14px;
	}
	
	.section-title {
		font-size: 1.25rem;
	}
	
	.question-title {
		font-size: 1rem;
	}
}

@media (max-width: 767px) {
	.wizard .content {
		padding: 25px 20px;
		min-height: auto;
	}
	
	.intro-text {
		padding: 0.875rem 1rem;
	}
	
	.question-block {
		margin-bottom: 1.5rem;
	}
	
	.styled-input-single {
		padding: 10px 0 10px 42px;
	}
}

@media (max-width: 576px) {
	.wizard .steps>ul {
		background-size: 100% 2px;
		gap: 6px;
	}
	
	.wizard .steps>ul li .uneek-indicator {
		width: 22px;
		height: 22px;
	}
	
	.wizard .steps>ul li .uneek-indicator::before {
		width: 10px;
		height: 10px;
	}
}


/*INPUT FLOATING LABEL*/
.has-float-label{display:block;position:relative}.has-float-label label,.has-float-label>span{position:absolute;cursor:text;font-size:75%;opacity:1;-webkit-transition:all .2s;transition:all .2s;top:-.5em;left:.75rem;z-index:3;line-height:1;padding:0 1px}.has-float-label label::after,.has-float-label>span::after{content:" ";display:block;position:absolute;background:#fff;height:2px;top:50%;left:-.2em;right:-.2em;z-index:-1}.has-float-label .form-control::-webkit-input-placeholder{opacity:1;-webkit-transition:all .2s;transition:all .2s}.has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder{opacity:0}.has-float-label .form-control:placeholder-shown:not(:focus)+*{font-size:150%;opacity:.5;top:.3em}.input-group .has-float-label{display:table-cell}.input-group .has-float-label .form-control{border-radius:.25rem}.input-group .has-float-label:not(:last-child),.input-group .has-float-label:not(:last-child) .form-control{border-bottom-right-radius:0;border-top-right-radius:0;border-right:0}.input-group .has-float-label:not(:first-child),.input-group .has-float-label:not(:first-child) .form-control{border-bottom-left-radius:0;border-top-left-radius:0}