.recommendations-form-wrapper{
    max-width:980px;
    margin:0 auto;
    background:linear-gradient(180deg,rgba(var(--secondary-rgb),0.06),rgba(255,255,255,0));
    border:1px solid var(--border-color);
    border-radius:18px;
    padding:2rem;
    box-shadow:var(--shadow-lg);
}

@media (max-width:768px){
    .recommendations-form-wrapper{padding:1.25rem;border-radius:16px;}
}

.form-progress{margin-bottom:1.75rem;}

.progress-bar{
    width:100%;
    height:10px;
    border-radius:999px;
    background:rgba(var(--primary-rgb),0.08);
    overflow:hidden;
    border:1px solid rgba(var(--primary-rgb),0.10);
}

.progress-bar-fill{
    height:100%;
    width:0;
    border-radius:999px;
    background:linear-gradient(90deg,var(--secondary-color),var(--accent-color));
    transition:width 300ms ease;
}

.progress-text{margin-top:0.6rem;color:var(--text-secondary);font-weight:500;}

.recommendations-form{display:block;}

.form-section-title{
    font-size:1.4rem;
    margin-bottom:1.25rem;
}

.form-radio-group,
.form-checkbox-group{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:1rem;
}

.radio-card,
.checkbox-card{
    display:block;
    cursor:pointer;
}

.radio-card input,
.checkbox-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.radio-card-content,
.checkbox-card-content{
    display:flex;
    align-items:center;
    gap:0.9rem;
    padding:1.1rem 1.1rem;
    background:var(--bg-primary);
    border:1px solid var(--border-color);
    border-radius:14px;
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
    min-height:76px;
}

.radio-card-content svg{
    flex:0 0 auto;
    color:var(--accent-color);
}

.radio-card:hover .radio-card-content,
.checkbox-card:hover .checkbox-card-content{
    transform:translateY(-2px);
    box-shadow:var(--shadow-md);
    border-color:rgba(var(--secondary-rgb),0.45);
}

.radio-card input:checked + .radio-card-content,
.checkbox-card input:checked + .checkbox-card-content{
    border-color:var(--secondary-color);
    background:linear-gradient(135deg,rgba(var(--secondary-rgb),0.14),rgba(var(--accent-rgb),0.06));
    box-shadow:0 10px 22px rgba(var(--secondary-rgb),0.18);
}

.checkbox-card-content .color-preview{
    width:22px;
    height:22px;
    border-radius:999px;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);
}

.form-navigation{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    margin-top:1.75rem;
    flex-wrap:wrap;
}

.form-navigation .btn{
    min-height:46px;
}

.preferences-summary{
    border:1px solid var(--border-color);
    border-radius:16px;
    background:linear-gradient(180deg,var(--bg-secondary),rgba(255,255,255,0));
    padding:1.5rem;
    box-shadow:var(--shadow-md);
}

.preferences-summary h3{
    margin-bottom:1rem;
}

.preferences-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0.75rem 1rem;
    margin-bottom:1rem;
}

@media (max-width:900px){
    .preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:520px){
    .preferences-grid{grid-template-columns:1fr;}
}

.preference-item{
    padding:0.75rem 0.9rem;
    border:1px solid rgba(var(--primary-rgb),0.08);
    border-radius:12px;
    background:rgba(255,255,255,0.6);
}

.recommendation-section{
    border:1px solid rgba(var(--primary-rgb),0.08);
    border-radius:18px;
    padding:1.5rem;
    background:linear-gradient(180deg,rgba(var(--secondary-rgb),0.05),rgba(255,255,255,0));
    box-shadow:var(--shadow-md);
}

.recommendation-header{
    margin-bottom:1.25rem;
}

.recommendation-header .section-title{
    margin-bottom:0.35rem;
}

.recommendation-header .section-subtitle{
    color:var(--text-secondary);
}

.section-alt .recommendation-section{
    background:linear-gradient(180deg,rgba(var(--accent-rgb),0.05),rgba(255,255,255,0));
}

.section-cta .cta-content{
    max-width:780px;
}
