.ths-muted-text { font-size:0.875rem; color:#7A5535; font-family:var(--font-sans); }
.ths-select-card {
    border: 2px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    background: white;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    cursor: pointer;
    transition: all 0.2s;
}
.ths-select-card.selected { border-color: var(--terracotta); box-shadow: 0 0 0 3px rgba(196,114,74,0.2); }
.ths-check-icon { color: var(--terracotta); font-weight: 700; font-size: 0.875rem; }
.ths-spread-card {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 16px; border-radius: 12px; border: 2px solid #E8DCC8;
    background: white; cursor: pointer; transition: all 0.2s; gap: 12px;
}
.ths-spread-card.selected { border-color: var(--terracotta); background: #FDF5E8; }
.ths-spread-check {
    width: 20px; height: 20px; border-radius: 50%; background: var(--terracotta);
    position: relative;
}
.ths-spread-check::after { content:'✓'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:white; font-size:11px; }
.ths-topping-card {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 14px 8px; border-radius: 12px; border: 2px solid #E8DCC8;
    background: white; cursor: pointer; transition: all 0.2s; position: relative;
}
.ths-topping-card.selected { border-color: var(--terracotta); background: #FDF5E8; }
.ths-topping-check {
    width: 16px; height: 16px; border-radius: 50%; background: var(--terracotta); position:relative;
}
.ths-topping-check::after { content:'✓'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:white; font-size:9px; }
.ths-qty-stepper button {
    width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid var(--terracotta);
    background: none; color: var(--terracotta); font-size: 1.2rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: all 0.2s;
}
.ths-qty-stepper button:hover { background: var(--terracotta); color: white; }
.ths-step-dot {
    width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 0.75rem; font-weight: 600; font-family: var(--font-sans); transition: all 0.3s;
}
.ths-step-dot.done     { background: var(--sage); color: white; }
.ths-step-dot.current  { background: var(--terracotta); color: white; }
.ths-step-dot.upcoming { background: rgba(196,114,74,0.2); color: var(--brown); }
.ths-step-label { font-size: 0.7rem; margin-top: 4px; white-space: nowrap; color: #7A5535; font-family: var(--font-sans); }
.ths-step-label.active { color: var(--terracotta); opacity: 1; font-weight: 600; }
.ths-step-line { height: 2px; background: rgba(196,114,74,0.2); margin: 0 4px 20px; transition: background 0.3s; }
.ths-step-line.done { background: var(--sage); }