.uniform-builder { padding-bottom: 3rem; }
.uniform-progress { display:flex; flex-wrap:wrap; gap:.55rem 1.2rem; padding:0; margin:0 0 1.5rem; list-style:none; color:var(--muted); font-size:.92rem; counter-reset:uniform-step; }
.uniform-progress li { counter-increment:uniform-step; }
.uniform-progress li::before { content:counter(uniform-step); display:inline-grid; place-items:center; width:1.65rem; height:1.65rem; margin-right:.35rem; border-radius:50%; border:1px solid var(--line); background:white; color:var(--ink); }
.uniform-brand-picker,.uniform-step,.uniform-details>section,.uniform-colour-step,.uniform-review { padding:1.2rem; margin:0 0 1.2rem; border:1px solid var(--line); border-radius:6px; background:#fffdf9; min-width:0; }
.uniform-brand-picker legend { padding-inline:.45rem; font-weight:700; font-size:1.2rem; }
.uniform-brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.uniform-brand-card { display:flex; flex-direction:column; gap:.3rem; min-height:112px; padding:1rem; border:1px solid var(--line); border-radius:5px; background:white; color:var(--ink); text-align:left; font:inherit; cursor:pointer; }
.uniform-brand-card[aria-pressed=true] { border:2px solid var(--accent-dark); background:#f7edef; }
.uniform-brand-card span { color:var(--muted); font-size:.9rem; line-height:1.45; }
.uniform-brand-card:disabled { cursor:not-allowed; background:#f2efed; color:#514c4d; }
.uniform-brand-pending { border-style:dashed; }
.uniform-step h2,.uniform-details h2,.uniform-review h2 { font-size:1.4rem; margin-bottom:.6rem; }
.uniform-product-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.uniform-product-choice { display:flex; gap:.8rem; align-items:center; min-width:0; min-height:96px; padding:.65rem; border:1px solid var(--line); border-radius:5px; background:white; cursor:pointer; }
.uniform-product-choice input { flex:0 0 auto; width:1.25rem; height:1.25rem; accent-color:var(--accent-dark); }
.uniform-product-choice img { flex:0 0 auto; width:56px; height:66px; object-fit:contain; background:#f8f7f5; }
.uniform-product-choice-copy { min-width:0; display:grid; line-height:1.35; }
.uniform-product-choice-copy strong { font-size:.95rem; }
.uniform-product-choice-copy small { color:var(--muted); font-size:.82rem; }
.uniform-details { display:grid; grid-template-columns:1fr; gap:1rem; }
.uniform-colour-step { max-width:34rem; }
.uniform-colour-step>label { margin-top:0; font-size:1.1rem; }
.uniform-colour-step select { max-width:30rem; }
.uniform-selected-products { display:grid; grid-template-columns:1fr; gap:1rem; }
.uniform-garment-card { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:6px; background:white; }
.uniform-garment-top { display:flex; gap:1rem; align-items:center; margin-bottom:.9rem; }
.uniform-garment-top>img { flex:0 0 auto; width:84px; height:100px; object-fit:contain; background:#f8f7f5; border:1px solid var(--line); border-radius:4px; }
.uniform-garment-top h3 { margin-bottom:.1rem; font-size:1.15rem; }
.uniform-code { margin:0; color:var(--muted); font-size:.9rem; }
.uniform-garment-top .field-help { margin:.25rem 0 0; font-size:.85rem; }
.uniform-subheading { font-weight:700; margin-bottom:.45rem; }
.uniform-size-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(116px,1fr)); gap:.5rem; }
.uniform-size-field { margin:0; padding:.5rem; border:1px solid var(--line); border-radius:4px; background:#fbf9f7; font-size:.85rem; }
.uniform-size-field span { display:block; margin-bottom:.2rem; }
.uniform-size-field input { min-height:44px; padding:.45rem; font-size:1rem; }
.uniform-size-unavailable { opacity:.58; }
.uniform-decoration { margin:.9rem 0 0; padding:.6rem .9rem .9rem; border:1px solid var(--line); border-radius:4px; background:#fbf9f7; }
.uniform-decoration legend { padding-inline:.35rem; font-weight:650; }
.uniform-decoration-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem .9rem; }
.uniform-option-field { min-width:0; }
.uniform-option-field label { margin:.55rem 0 .2rem; font-size:.9rem; }
.uniform-option-field textarea { min-height:3.2rem; }
.uniform-option-field .field-help { grid-column:1/-1; }
.uniform-review { background:var(--soft); }
.uniform-estimate-count { margin-bottom:.5rem; }
.uniform-totals { margin:.4rem 0; }
.uniform-totals>div { display:flex; justify-content:space-between; gap:1rem; padding:.2rem 0; }
.uniform-totals dd { white-space:nowrap; }
.uniform-estimate-total { border-top:1px solid #c6b8ab; margin-top:.7rem; padding-top:.7rem; font-size:1.25rem; font-weight:700; }
.uniform-add-button,.uniform-basket-button { width:100%; margin-top:.6rem; }
.uniform-basket-button { background:white; border-color:var(--ink); color:var(--ink); }
.uniform-pending-note { padding:1rem; border-left:3px solid var(--accent-dark); background:#f3eeec; color:var(--muted); font-size:.93rem; }
#uniform-error:empty { display:none; }
@media(max-width:760px) {
 .uniform-brand-grid { grid-template-columns:1fr; }
 .uniform-brand-card { min-height:0; }
 .uniform-product-choice-grid { grid-template-columns:1fr; }
 .uniform-product-choice { min-height:82px; }
 .uniform-details>section,.uniform-colour-step,.uniform-review,.uniform-step,.uniform-brand-picker { padding:.9rem; }
 .uniform-garment-card { padding:.75rem; }
 .uniform-decoration-details { grid-template-columns:1fr; }
 .uniform-progress { gap:.4rem .75rem; font-size:.85rem; }
 .uniform-progress li::before { width:1.4rem; height:1.4rem; }
}
