
:where([class^="ri-"])::before { content: "\f3c2"; }
body {
font-family: 'Inter', sans-serif;
scroll-behavior: smooth;
background-color: #f9fafb;
}
.gradient-bg {
background: linear-gradient(135deg, #3B82F6 0%, #10B981 100%);
}
.text-gradient {
background: linear-gradient(135deg, #3B82F6 0%, #10B981 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
input:focus, textarea:focus, select:focus {
outline: none;
border-color: #3B82F6;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.custom-checkbox {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border: 2px solid #d1d5db;
border-radius: 4px;
background-color: white;
cursor: pointer;
position: relative;
}
.custom-checkbox:checked {
background-color: #3B82F6;
border-color: #3B82F6;
}
.custom-checkbox:checked::after {
content: '';
position: absolute;
top: 4px;
left: 7px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.custom-radio {
appearance: none;
-webkit-appearance: none;
width: 20px;
height: 20px;
border: 2px solid #d1d5db;
border-radius: 50%;
background-color: white;
cursor: pointer;
position: relative;
}
.custom-radio:checked {
border-color: #3B82F6;
}
.custom-radio:checked::after {
content: '';
position: absolute;
top: 3px;
left: 3px;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #3B82F6;
}
.progress-bar {
height: 8px;
background-color: #e5e7eb;
border-radius: 4px;
overflow: hidden;
}
.progress-bar-fill {
height: 100%;
background: linear-gradient(90deg, #3B82F6 0%, #10B981 100%);
transition: width 0.3s ease;
}
.step-indicator {
width: 36px;
height: 36px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
transition: all 0.3s ease;
}
.step-indicator.active {
background-color: #3B82F6;
color: white;
}
.step-indicator.completed {
background-color: #10B981;
color: white;
}
.step-line {
flex: 1;
height: 2px;
background-color: #e5e7eb;
}
.step-line.active {
background: linear-gradient(90deg, #3B82F6 0%, #10B981 100%);
}
.service-card {
transition: all 0.3s ease;
border: 2px solid transparent;
}
.service-card.selected {
border-color: #3B82F6;
background-color: #ebf5ff;
}
.custom-range {
-webkit-appearance: none;
width: 100%;
height: 8px;
border-radius: 4px;
background: #e5e7eb;
outline: none;
}
.custom-range::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 24px;
height: 24px;
border-radius: 50%;
background: #3B82F6;
cursor: pointer;
border: 2px solid white;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.custom-range::-moz-range-thumb {
width: 24px;
height: 24px;
border-radius: 50%;
background: #3B82F6;
cursor: pointer;
border: 2px solid white;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.custom-switch {
position: relative;
display: inline-block;
width: 48px;
height: 24px;
}
.custom-switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #e5e7eb;
transition: .4s;
border-radius: 24px;
}
.slider:before {
position: absolute;
content: "";
height: 20px;
width: 20px;
left: 2px;
bottom: 2px;
background-color: white;
transition: .4s;
border-radius: 50%;
}
input:checked + .slider {
background-color: #3B82F6;
}
input:checked + .slider:before {
transform: translateX(24px);
}