/* ---- 12-step intake wizard ------------------------------------------- */

.wizard-progress {
    max-width: 760px;
    margin: 0 auto 1.25rem auto;
}
.wizard-progress-meta {
    display: flex; justify-content: space-between;
    font-size: 0.85rem; color: #8c8fa3;
    margin-bottom: 0.4rem;
}
.wizard-progress-step { font-weight: 600; color: #b6c2ff; letter-spacing: 0.02em; }
.wizard-progress-bar {
    width: 100%; height: 8px;
    background: #14151a; border: 1px solid #2a2c36;
    border-radius: 999px; overflow: hidden;
}
.wizard-progress-fill {
    height: 100%; background: linear-gradient(90deg, #3b6fe0 0%, #6fcf97 100%);
    transition: width 240ms ease-out;
}

.wizard-step { padding: 2rem; }
.wizard-step-header { margin-bottom: 1.5rem; }
.wizard-step-header h1 { margin: 0 0 0.4rem 0; font-size: 1.5rem; }
.wizard-step-header p { margin: 0; }

/* Field grouping + side-by-side rows */
.form-row-grid {
    display: grid; gap: 0 1rem;
    grid-template-columns: 1fr 1fr;
}
@media (max-width: 640px) {
    .form-row-grid { grid-template-columns: 1fr; }
}
.form-row select,
.form-row textarea {
    padding: 0.5rem 0.65rem; border-radius: 6px;
    background: #14151a; color: #e8e9ee;
    border: 1px solid #2a2c36; font-size: 1rem;
    font-family: inherit;
}
.form-row textarea { min-height: 6.5rem; resize: vertical; }
.form-row select:focus,
.form-row textarea:focus { outline: 2px solid #3b6fe0; border-color: #3b6fe0; }
.form-row input[type="file"] {
    padding: 0.4rem 0;
    color: #b6b9cc;
}
.wizard-current-file { margin-top: 0.4rem; font-size: 0.85rem; }
.wizard-current-file code {
    background: #14151a; border: 1px solid #2a2c36;
    padding: 0.1rem 0.4rem; border-radius: 4px; font-size: 0.85rem;
}

/* Collection editors (steps 3 + 5) */
.wizard-collection {
    border: 1px solid #2a2c36; border-radius: 8px;
    padding: 1rem 1.25rem; margin: 1rem 0;
    background: #14151a;
}
.wizard-collection legend { padding: 0 0.4rem; color: #b6c2ff; font-weight: 600; }
.wizard-collection p { margin: 0.4rem 0 0.85rem 0; }
.wizard-row {
    display: grid; grid-template-columns: 1fr 2fr; gap: 0 1rem;
    margin-bottom: 0.75rem;
    border-top: 1px solid #232530; padding-top: 0.75rem;
}
.wizard-row:first-of-type { border-top: 0; padding-top: 0; }
.wizard-row-competitor { grid-template-columns: 1fr 1fr 2fr; }
@media (max-width: 720px) {
    .wizard-row { grid-template-columns: 1fr; }
    .wizard-row-competitor { grid-template-columns: 1fr; }
}

/* Checkbox / radio groups */
.wizard-checkbox-group,
.wizard-radio-group {
    border: 1px solid #2a2c36; border-radius: 8px;
    padding: 0.75rem 1.25rem; margin: 1rem 0;
    background: #14151a;
}
.wizard-checkbox-group legend,
.wizard-radio-group legend {
    color: #b6c2ff; font-weight: 600; padding: 0 0.4rem;
}
.wizard-radio {
    display: grid; grid-template-columns: 1.5rem 1fr;
    align-items: start; gap: 0.5rem;
    padding: 0.65rem 0; border-top: 1px solid #232530;
}
.wizard-radio:first-of-type { border-top: 0; }
.wizard-radio span { display: block; font-size: 0.9rem; }

/* Step navigation row */
.wizard-step-nav {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 1.5rem; gap: 1rem; flex-wrap: wrap;
}
.wizard-step-nav-right { display: flex; gap: 0.6rem; }
.wizard-step-nav .action { margin-top: 0; }

/* Review surface */
.wizard-review { max-width: none; }
.review-section {
    border-top: 1px solid #2a2c36; padding: 1.25rem 0;
}
.review-section:first-of-type { border-top: 0; padding-top: 0; }
.review-section-head {
    display: flex; align-items: baseline; justify-content: space-between;
    margin-bottom: 0.6rem; gap: 1rem;
}
.review-section-head h2 {
    margin: 0; font-size: 1.1rem; color: #e8e9ee;
}
.review-edit {
    font-size: 0.85rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    border: 1px solid #2a2c36;
    background: #14151a;
    color: #b6c2ff;
    text-decoration: none;
}
.review-edit:hover { background: #232530; color: #d4dcff; }
.review-dl {
    display: grid; grid-template-columns: 14rem 1fr; gap: 0.4rem 1.5rem;
    margin: 0;
}
@media (max-width: 720px) {
    .review-dl { grid-template-columns: 1fr; gap: 0 0; }
    .review-dl dt { margin-top: 0.5rem; }
}
.review-dl dt { color: #8c8fa3; font-size: 0.9rem; }
.review-dl dd { margin: 0; color: #e8e9ee; }
.review-dl dd.prose { white-space: pre-wrap; }
.review-list { margin: 0; padding-left: 1.1rem; }
.review-list li { margin-bottom: 0.4rem; }
.review-list li .prose { color: #b6b9cc; font-size: 0.9rem; }
