/* style.css */
body {
    font-family: 'Inter', sans-serif;
    background-color: #f5f3ff;
    font-size: 14px;
}
.form-step {
    display: none;
}
.form-step.active {
    display: block;
}
.form-section {
    border-bottom: 1px solid #ddd6fe;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}
.form-section:last-child { border-bottom: none; margin-bottom: 0; }
.form-label {
    font-weight: 600;
    color: #5b21b6;
    margin-bottom: 0.5rem;
    display: block;
}
.form-input, .form-select, .form-textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #c4b5fd;
    border-radius: 0.5rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-size: 14px;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
    outline: none;
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2);
}
.radio-button-group label {
    position: relative;
}
.radio-button-group input[type="radio"] {
    display: none;
}
.radio-button-label {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd6fe;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
    display: block;
}
.radio-button-group input[type="radio"]:checked + .radio-button-label {
    background-color: #7c3aed;
    color: white;
    border-color: #7c3aed;
    box-shadow: 0 4px 6px -1px rgba(124, 58, 237, 0.2);
}
.service-description {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, margin-top 0.5s ease-in-out;
    background-color: #f5f3ff;
    border-radius: 0.5rem;
    text-align: left;
}
.checkbox-label, .radio-label {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    cursor: pointer;
}
.checkbox-input, .radio-input {
    margin-right: 0.75rem;
    height: 1.1rem;
    width: 1.1rem;
    accent-color: #7c3aed;
}
.trending-badge {
    position: absolute;
    top: -0.6rem;
    right: -0.6rem;
    background: linear-gradient(to right, #c026d3, #7c3aed);
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
}
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, hsl(var(--hue, 0), 80%, 60%) 0%, hsl(var(--hue, 0), 80%, 60%) var(--value, 0%), #ddd6fe var(--value, 0%), #ddd6fe 100%);
    border-radius: 5px;
    outline: none;
    transition: background 0.1s;
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: white;
    cursor: pointer;
    border-radius: 50%;
    border: 2px solid #7c3aed;
}
/* Picker Modal Styles */
.picker-scroller {
    height: 10rem;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
    mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
}
.picker-scroller-content {
    transition: transform 0.2s ease-out;
}
.picker-item {
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.picker-highlight {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2rem;
    transform: translateY(-50%);
    border-top: 2px solid #7c3aed;
    border-bottom: 2px solid #7c3aed;
    pointer-events: none;
}
/* Progress Bar */
.progress-bar-container {
    width: 100%;
    background-color: #ddd6fe;
    border-radius: 9999px;
    height: 8px;
}
.progress-bar {
    width: 25%;
    height: 8px;
    background-color: #7c3aed;
    border-radius: 9999px;
    transition: width 0.4s ease-in-out;
}
button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

