/* contact.css */
.contact-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:flex-start}
.contact-form-wrapper{background:white;border-radius:var(--radius-lg,20px);padding:2.5rem;box-shadow:var(--shadow-md);border:1px solid var(--gray-200,#e5e7eb)}

/* Step indicator */
.step-indicator{display:flex;align-items:center;gap:0;margin-bottom:1.5rem}
.step-item{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0}
.step-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--gray-200,#e5e7eb);background:white;color:var(--gray-400,#9ca3af);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;transition:all .3s ease}
.step-item span{font-size:.72rem;color:var(--gray-400,#9ca3af);font-weight:500;white-space:nowrap}
.step-item.active .step-circle{background:var(--primary);border-color:var(--primary);color:white}
.step-item.active span{color:var(--primary);font-weight:600}
.step-item.done .step-circle{background:var(--primary);border-color:var(--primary);color:white}
.step-line{flex:1;height:2px;background:var(--gray-200,#e5e7eb);margin:0 .5rem;margin-bottom:1.25rem;transition:background .3s ease}
.step-item.done+.step-line{background:var(--primary)}

/* Progress bar */
.progress-bar{height:4px;background:var(--gray-100,#f3f4f6);border-radius:100px;margin-bottom:2rem;overflow:hidden}
.progress-fill{height:100%;background:var(--primary);border-radius:100px;transition:width .4s ease}

/* Form steps */
.form-step{display:none}
.form-step.active{display:block}
.form-step h3{font-size:1.25rem;margin-bottom:1.5rem;color:var(--dark,#0f172a)}

/* Form groups */
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:.88rem;font-weight:600;color:var(--gray-700,#374151);margin-bottom:.5rem}
.req{color:var(--primary)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:var(--radius-sm,8px);font-size:.95rem;font-family:inherit;color:var(--dark,#0f172a);background:white;transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light,rgba(0,0,0,.06))}
.form-group textarea{resize:vertical;min-height:140px;line-height:1.6}
.field-error{display:block;color:#ef4444;font-size:.8rem;margin-top:.375rem;min-height:1.1em}
.char-count{display:block;color:var(--gray-400,#9ca3af);font-size:.78rem;margin-top:.375rem}

/* Form actions */
.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.75rem;gap:1rem}

/* Recap */
.form-recap{background:var(--gray-100,#f3f4f6);border-radius:var(--radius,12px);padding:1.25rem;font-size:.88rem}
.recap-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--gray-200,#e5e7eb)}
.recap-row:last-child{border-bottom:none}
.recap-label{color:var(--gray-500,#6b7280);font-weight:500}
.recap-value{color:var(--dark,#0f172a);font-weight:600;text-align:right;max-width:60%}

/* Checkbox */
.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.88rem;color:var(--gray-600,#4b5563);line-height:1.6}
.checkbox-label input{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--primary)}
.text-link{color:var(--primary);text-decoration:underline}

/* Success */
.form-success{text-align:center;padding:2rem 1rem}
.success-icon{width:72px;height:72px;background:var(--primary);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:scaleIn .4s ease}
.form-success h3{color:var(--dark,#0f172a);margin-bottom:.75rem}
.form-success p{color:var(--gray-500,#6b7280);margin-bottom:.5rem}
@keyframes scaleIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}

/* Error */
.form-error-msg{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius,12px);padding:1rem 1.25rem;color:#b91c1c;font-size:.9rem}

/* Contact info sidebar */
.contact-info{background:white;border-radius:var(--radius-lg,20px);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200,#e5e7eb);position:sticky;top:100px}
.contact-info h3{font-size:1.1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200,#e5e7eb)}
.contact-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}
.contact-icon{width:38px;height:38px;min-width:38px;background:var(--primary-light,rgba(0,0,0,.07));border-radius:var(--radius-sm,8px);display:flex;align-items:center;justify-content:center;color:var(--primary)}
.contact-item strong{display:block;font-size:.85rem;color:var(--dark,#0f172a);margin-bottom:.2rem}
.contact-item p{color:var(--gray-500,#6b7280);font-size:.88rem;margin:0}
.contact-item a{color:var(--gray-500,#6b7280);text-decoration:none}
.contact-item a:hover{color:var(--primary)}
.contact-guarantee{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--gray-200,#e5e7eb);display:flex;flex-direction:column;gap:.625rem}
.guarantee-item{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:var(--gray-600,#4b5563)}

/* Responsive */
@media(max-width:1024px){.contact-layout{grid-template-columns:1fr;}.contact-info{position:static}}
@media(max-width:600px){
  .contact-form-wrapper{padding:1.5rem}
  .step-item span{display:none}
  .step-line{margin:0 .25rem;margin-bottom:1.6rem}
}